Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Voxa Banner

Voxa

AI-powered clinical workflow platform for Indian hospitals.

Voxa replaces paper-based ward documentation with a unified digital system across all hospital roles — consultants, residents, interns, nurses, pharmacy, and lab — with real-time sync, AI-assisted form filling, and agentic department dispatch.

Built by NeuraData.


What it does

A doctor speaks or writes during a consultation. Voxa transcribes and extracts structured clinical data, auto-fills the relevant forms (consent, discharge, pharmacy prescription, investigation orders), and dispatches requests to the appropriate departments — all in one workflow. Every role in the hospital sees their relevant updates in real time.

  • OPD & IPD workflows — dynamic forms per patient type and specialty
  • Voice-to-form — Sarvam AI transcribes Indian-language speech, Gemini structures it into form fields
  • AI-assisted forms — auto-fills consent, discharge, pharmacy, and nursing documentation
  • Nurse integration — treatment chart, medication administration record (MAR), vitals charting with threshold alerts
  • Agentic dispatch — approved orders fan out concurrently to pharmacy, lab, and nursing APIs
  • Real-time sync — SSE for real-time updates across web portals and mobile applications; all roles see updates within 2 seconds
  • ABHA integration — fetches or creates Ayushman Bharat Health Accounts; falls back to internal UUID on API timeout
  • Offline-first mobile — SQLite store-and-forward for ward connectivity drops
  • Multi-tenant — per-hospital tenancy with RBAC across consultant, resident, intern, nurse, pharmacy, and lab roles

Architecture

┌─────────────────┐     ┌─────────────────┐     ┌──────────────────┐
│   Flutter App   │     │  Next.js Portal │     │  Dept. Dashboards│
│  (Doctor/Nurse) │     │  (Web — All     │     │  (Pharmacy, Lab, │
│       SSE       │     │   Roles) SSE    │     │   Nursing) SSE   │
└────────┬────────┘     └────────┬────────┘     └────────┬─────────┘
         │                       │                        │
         └───────────────────────┼────────────────────────┘
                                 │ HTTPS
                    ┌────────────▼────────────┐
                    │      Go API Server      │
                    │   Echo · pgx/v5 · OTEL  │
                    └──────┬──────────┬───────┘
                           │          │
              ┌────────────▼──┐   ┌───▼────────────┐
              │  Asynq Worker │   │  Realtime Hub  │
              │  (Async Jobs) │   │   SSE fanout   │
              └──────┬────────┘   └───────┬────────┘
                     │                    │
         ┌───────────▼──────┐   ┌─────────▼──────────┐
         │   PostgreSQL 16  │   │      Redis 7        │
         │  pgvector · JSONB│   │  Asynq · Pub/Sub   │
         └──────────────────┘   └────────────────────┘
                     │
         ┌───────────▼───────────┐
         │      OVH Object       │
         │  Storage (Audio files)│
         └───────────────────────┘

AI pipeline (per consultation):

Audio (Opus) → OVH Object Storage
                      ↓
             [TranscriptionJob] → Sarvam AI (primary) / faster-whisper (fallback)
                      ↓
             [FormExtractionJob] → Gemini 2.5 Flash (structured JSON output)
                      ↓
             Doctor reviews pre-filled form → Approves
                      ↓
             [AgentDispatchJob] → concurrent department API calls (errgroup)
                      ↓
             SSE → department dashboards update in real time

Stack

Layer Technology
Backend Go 1.23 · Echo v4 · pgx/v5 · pgxpool
Database PostgreSQL 16 (JSONB · pgvector) · golang-migrate
Queue Redis 7 · Asynq (priority queues)
Real-time PostgreSQL LISTEN/NOTIFY → Redis Pub/Sub → SSE
STT Sarvam AI (primary) · faster-whisper on OVH GPU (fallback)
LLM Gemini 2.5 Flash · Gemini 2.5 Pro (surgical order sets)
Web Next.js 15 App Router · TypeScript
Mobile Flutter 3 · Riverpod · Drift (offline SQLite)
Infra OVH Mumbai · Docker Compose · Nginx · GitHub Actions
Observability OpenTelemetry · Prometheus · Grafana (Tempo + Loki)

Repository structure

Domain-first layout — all code for a clinical domain lives together, not split across layers.

voxa/
├── cmd/
│   ├── api/              # HTTP server entrypoint
│   └── worker/           # Asynq worker entrypoint
├── internal/
│   ├── patient/          # Patient identity, ABHA integration
│   ├── admission/        # IPD/OPD admission lifecycle
│   ├── clinical/         # Case sheets, examination, diagnosis
│   ├── medication/       # Treatment chart, MAR, route changes
│   ├── vitals/           # Vitals charting, fluid balance, alerts
│   ├── investigation/    # Lab orders, results
│   ├── nursing/          # Nursing notes, tasks, shift handover
│   ├── surgery/          # Pre-op, operative notes, post-op orders
│   ├── discharge/        # Discharge summary
│   ├── auth/             # JWT, RBAC, sessions
│   ├── realtime/         # SSE hub, event routing
│   ├── ai/               # Form extraction, order generation, drug check
│   ├── audit/            # Immutable append-only event log
│   └── tenant/           # Multi-hospital tenancy
├── pkg/                  # Shared utilities (pagination, crypto, ptr)
├── infra/                # PostgreSQL, Redis, storage, telemetry setup
├── migrations/           # SQL migration files (golang-migrate)
├── docker-compose.yml
└── Makefile

Each domain package contains: entity.go, repository.go (interface), service.go (interface), handler.go, worker.go, and a postgres/ subdirectory with the pgx implementation. No domain imports another domain directly.


Getting started

Prerequisites: Go 1.23+, Docker, Make

# Clone
git clone https://github.com/swaindhruti/voxa
cd voxa

# Start local infrastructure (PostgreSQL, Redis)
docker compose up -d

# Run migrations
make migrate-up

# Start API server
make run-api

# Start Asynq worker (separate terminal)
make run-worker

Environment variables are documented in .env.example.


Roadmap

Phase 1 — Hospital trial (current)

  • Domain-first backend architecture
  • Patient registration + ABHA integration
  • Multi-role auth (consultant, resident, nurse, pharmacy, lab)
  • IPD admission flow + ward/bed management
  • Dynamic AI-assisted clinical forms
  • Treatment chart + nurse MAR
  • Vitals charting + threshold alerts
  • Real-time SSE sync
  • Agentic department dispatch
  • Flutter app (doctor + nurse roles)
  • Next.js web portal

Phase 2

  • Voice-to-form pipeline (Sarvam AI full integration)
  • WhatsApp post-care communication
  • FHIR R4 export layer
  • Multi-hospital onboarding

License

Private — All rights reserved. NeuraData © 2026.

About

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages