Duo is a Full-Stack Data Integration Bridge designed specifically for small to mid-size healthcare facilities. The application ingests CSV and XML export files from various healthcare systems and consolidates them into a unified relational database, presenting the data through advanced, filterable data tables.
Perfect for healthcare practices that don't have comprehensive practice management systems and instead rely on diverse, disparate vendors to manage different pieces of patient data. Duo dramatically simplifies the maintenance and visualization of appointments, claims, and patient information by bridging the gap between multiple data sources.
- 📊 Excel/CSV File Imports - Ingest patient, appointment, payment, and EOB data from exported spreadsheets
- 🔄 Tebra/Kareo EHR Sync - Automatic SOAP API sync for appointments and EOBs from Tebra
- 💰 Payment Reconciliation - Match EOBs to deposits, EFT reference matching, and reconciliation dashboard
- 🤖 AI-Powered Reports - Natural language to SQL report generation via OpenAI
- 🗄️ Unified Database - Centralized storage with PostgreSQL and Prisma ORM
- 📋 Advanced Data Tables - Filterable, sortable tables with Material-UI MUI X DataGrid
- 📅 Appointment Management - View and manage patient appointments with auto-sync
- 👥 Patient Management - Comprehensive patient data handling
- 📞 Voicemail Integration - RingRX voicemail management with AI-assisted features
- 💬 SMS Messaging - Send messages to patients via RingRX
# Clone the repository
git clone [repository-url]
cd Duo
# Install dependencies
npm install
# Set up the database
npx prisma migrate dev
# Start the development servers
npm run startCreate a .env file in the root directory with the following variables:
DATABASE_URL=postgresql://username:password@localhost:5432/duo
PORT=3000
NODE_ENV=development
# OpenAI (AI reports, voicemail features)
OPENAI_API_KEY=
# RingRX (voicemail, SMS)
RING_USER_NAME=
RING_PASSWORD=
RINGRX_BASE_URL=https://portal.ringrx.com
# Tebra/Kareo (EHR sync)
TEBRA_API_URL=
TEBRA_CUSTOMER_KEY=
TEBRA_USER_ID=
TEBRA_PASSWORD=
TEBRA_PRACTICE_NAME=- Tebra/Kareo: SOAP API integration for syncing appointments and EOBs from the EHR
- RingRX: Cookie-based auth for voicemail management and SMS messaging
- OpenAI: Powers AI report generation and voicemail features
- File Import: Navigate to the upload section and select your CSV/XML files
- Data Management: Use the advanced tables to filter, sort, and view your data
- Appointments: View and manage patient appointments with calendar integration
- Voicemail: Handle voicemail messages through the integrated RingRX system
# Start development environment
npm run start
# Frontend only (port 5173)
npm run dev
# Backend only (port 3000)
npm run server
# Database operations
npx prisma studio # Open database GUI
npx prisma migrate dev # Apply migrations
npx prisma generate # Generate Prisma client