Skip to content

Sakeeb91/scribemed

Repository files navigation

ScribeMed

AI-Powered Medical Documentation Assistant

Streamlining healthcare documentation with intelligent transcription, coding, and clinical note generation

Node.js PNPM TypeScript PostgreSQL License


Overview

ScribeMed is a comprehensive healthcare documentation platform that leverages AI to automate medical transcription, clinical coding, and documentation workflows. Built as a modern monorepo, it provides scalable microservices architecture for healthcare organizations seeking to reduce administrative burden and improve documentation accuracy.

Key Features

  • Real-time Audio Transcription - High-accuracy speech-to-text for clinical encounters
  • Intelligent Documentation - AI-powered clinical note generation
  • Automated Coding - ICD-10 and CPT code suggestions
  • Authentication & Authorization - Secure login with MFA, refresh sessions, and RBAC
  • RAG-Powered Retrieval - Context-aware information retrieval
  • FHIR Integration - Standards-compliant healthcare data exchange
  • Agent Orchestration - Coordinated multi-service workflows
  • Multi-Platform - Web, mobile, and admin interfaces

Quick Start

Prerequisites

Ensure you have the following installed:

  • Node.js ≥ 18.0.0
  • PNPM ≥ 8.0.0
  • Docker & Docker Compose
  • PostgreSQL 15+

Installation

# Clone the repository
git clone https://github.com/Sakeeb91/scribemed.git
cd scribemed

# Install dependencies
pnpm install

# Set up environment variables
cp .env.example .env
# Edit .env with your configuration

# Run database migrations
pnpm run db:migrate

# Seed development database (optional)
pnpm run db:seed:dev

# Start all services in development mode
pnpm run dev

Available Commands

Command Description
pnpm dev Start all services in development mode
pnpm build Build all packages and services
pnpm test Run all unit and integration tests
pnpm test:unit Run unit tests only
pnpm test:integration Run integration tests only
pnpm lint Lint all code
pnpm format Format all code with Prettier
pnpm format:check Check code formatting
pnpm type-check Run TypeScript type checking
pnpm db:migrate Run database migrations
pnpm db:migrate:info Show migration status
pnpm db:migrate:undo Rollback last migration
pnpm db:seed:dev Seed development database
pnpm clean Clean all build artifacts and node_modules

Authentication Service

pnpm --filter @scribemed/auth-service dev     # run the REST API locally
pnpm --filter @scribemed/auth-service test    # execute auth service tests

Required environment variables for local execution:

  • AUTH_SERVICE_PORT
  • JWT_ACCESS_TOKEN_SECRET / JWT_REFRESH_TOKEN_SECRET
  • SESSION_TTL_HOURS
  • PASSWORD_RESET_TOKEN_TTL_MINUTES
  • MFA_ISSUER

Project Structure

scribemed/
├── apps/                       # End-user applications
│   ├── web/                    # Web application
│   ├── mobile/                 # Mobile application
│   ├── admin-portal/           # Admin dashboard
│   └── api-gateway/            # API gateway service
│
├── services/                   # Backend microservices
│   ├── auth/                   # Authentication & authorization service
│   ├── transcription/          # Audio transcription service
│   ├── documentation/          # Clinical note generation
│   ├── coding/                 # Medical coding service
│   ├── rag/                    # Retrieval-augmented generation
│   ├── agent-orchestrator/     # Service orchestration
│   ├── audio-capture/          # Audio capture service
│   └── fhir-adapter/           # FHIR integration
│
├── packages/                   # Shared libraries
│   ├── database/               # Database migrations & connection
│   ├── auth/                   # Authentication utilities
│   ├── logging/                # Logging infrastructure
│   ├── monitoring/             # Monitoring & observability
│   ├── config/                 # Configuration management
│   ├── types/                  # Shared TypeScript types
│   ├── ui-components/          # Reusable UI components
│   └── utils/                  # Common utilities
│
├── infrastructure/             # Infrastructure as code
│   ├── terraform/              # Terraform configurations
│   ├── kubernetes/             # K8s manifests
│   ├── docker/                 # Docker configurations
│   └── scripts/                # Deployment scripts
│
└── docs/                       # Documentation
    ├── architecture/           # Architecture documentation
    ├── api/                    # API specifications
    ├── database/               # Database documentation
    ├── ci-cd/                  # CI/CD documentation
    ├── compliance/             # Compliance documentation
    └── runbooks/               # Operational runbooks

Architecture

ScribeMed follows a monorepo architecture powered by Turborepo for efficient builds and task orchestration. The platform is organized into:

  • Applications (apps/) - User-facing interfaces and gateways
  • Services (services/) - Independent microservices with specific responsibilities
  • Packages (packages/) - Shared libraries and utilities
  • Infrastructure (infrastructure/) - IaC and deployment configurations

Documentation

Comprehensive documentation is available in the docs/ directory:


Development

Development Workflow

  1. Create a feature branch from main

    git checkout -b feature/your-feature-name
  2. Make your changes with accompanying tests and documentation

  3. Run quality checks before pushing

    pnpm lint
    pnpm test
    pnpm build
    pnpm type-check
  4. Commit your changes (Husky will run lint-staged automatically)

    git commit -m "feat: your feature description"
  5. Push and create a pull request referencing related issues

Code Quality

  • Linting: ESLint with TypeScript support
  • Formatting: Prettier with consistent configuration
  • Type Checking: TypeScript strict mode
  • Testing: Node.js built-in test runner
  • Pre-commit Hooks: Husky + lint-staged

Contributing

We welcome contributions! Please see our Contributing Guide for:

  • Development setup instructions
  • Code style guidelines
  • Commit message conventions
  • Pull request process

Quick Contribution Checklist

  • Code follows project style guidelines
  • Tests added/updated and passing
  • Documentation updated
  • Linting and type checking passes
  • No breaking changes (or documented if necessary)

Security & Compliance

ScribeMed handles Protected Health Information (PHI) and adheres to healthcare compliance standards:

  • HIPAA compliance considerations
  • FHIR standards for healthcare data exchange
  • Secure credential management via AWS Secrets Manager
  • Environment-specific security configurations

For security concerns, please contact the maintainers directly.


License

This project is private and proprietary. All rights reserved.


Links


Built for healthcare professionals

Report Bug · Request Feature

About

AI-powered medical documentation assistant

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •