GlocalMD - Telemedicine Platform
An end-to-end telehealth ecosystem connecting patients with doctors for secure online consultations - Angular SPA, Node.js REST API, dedicated WebRTC video server, and a marketing site, with real-time video, EMR, scheduling, payments, and notifications.
The challenge
Deliver a complete telemedicine ecosystem - not just a UI - with two role-based portals, a marketing site, a versioned REST API, and a dedicated WebRTC video service. The platform had to handle real-time consultations, timezone-aware scheduling, online payments, EMR, document storage, and OTP-based auth, all while keeping video traffic and core API concerns independently scalable.
What we built
## The challenge Deliver a complete telemedicine ecosystem - not just a UI - with two role-based portals, a marketing site, a versioned REST API, and a dedicated WebRTC video service. The platform had to handle real-time consultations, timezone-aware scheduling, online payments, EMR, document storage, and OTP-based auth, all while keeping video traffic and core API concerns independently scalable. ## What we built A microservice-style architecture split into four independently deployable services: an Angular 9 patient/doctor SPA, an Angular marketing & lead-capture site, a Node.js/Express REST API with 45+ Sequelize models covering the full clinical workflow (EMR, scheduling, referrals, billing, credentialing), and a dedicated Node/OpenTok video server for issuing WebRTC session tokens. Externalized infrastructure (AWS S3 for documents, PayPal for billing, Vonage for SMS and video) keeps the API stateless and horizontally scalable. ## Patient & Doctor SPA - Lazy-loaded doctor and patient modules with shared UI kit - OTP-secured sign-up with ng-otp-input - Specialist search with Google Maps (@agm/core) - Appointment booking and live video consultations - Patient chart, document uploads, intake questions, referrals - Doctor availability scheduling (recurring + one-off slots) ## REST API - Versioned Express API under /v1/web/* with module-per-feature layout - 45+ Sequelize models: appointment, EMR, doctor credentialing, referral, transaction - JWT auth, bcrypt password hashing, express-validator on every endpoint - Sequelize CLI migrations for local/development/production environments - Winston daily-rotating logs and dotenv-driven config - Multi-language email/SMS templates via jm-ez-l10n ## Video Server - Dedicated Node/Express service isolated from the main API - OpenTok (Vonage) Video API session and token issuance - Independent scaling for video traffic vs. business logic ## Integrations - PayPal Checkout Server SDK for appointment billing - AWS S3 for medical document & image storage with signed URLs - Nexmo / Vonage SMS for OTP and notifications - Speakeasy TOTP for optional 2FA - QR code generation for prescriptions and sessions
Key features
Patient & Doctor SPA (glocalmd-web)
- Lazy-loaded doctor and patient modules with shared UI kit
- OTP-secured sign-up with ng-otp-input
- Specialist search with Google Maps (@agm/core)
- Appointment booking and live video consultations
- Patient chart, document uploads, intake questions, referrals
- Doctor availability scheduling (recurring + one-off slots)
REST API (glocalmd-node)
- Versioned Express API under /v1/web/* with module-per-feature layout
- 45+ Sequelize models: appointment, EMR, doctor credentialing, referral, transaction
- JWT auth, bcrypt password hashing, express-validator on every endpoint
- Sequelize CLI migrations for local/development/production environments
- Winston daily-rotating logs and dotenv-driven config
- Multi-language email/SMS templates via jm-ez-l10n
Video Server
- Dedicated Node/Express service isolated from the main API
- OpenTok (Vonage) Video API session and token issuance
- Independent scaling for video traffic vs. business logic
Marketing Site (glocalmd-landing)
- Separate Angular 9 marketing site for fast load and easy iteration
- Lead capture: newsletter, waitlist, contact-us
- SEO landing pages decoupled from the authenticated SPA
Integrations
- PayPal Checkout Server SDK for appointment billing
- AWS S3 for medical document & image storage with signed URLs
- Nexmo / Vonage SMS for OTP and notifications
- Speakeasy TOTP for optional 2FA
- QR code generation for prescriptions and sessions
Challenges solved
Domain-rich data model
Modeled the full clinical surface in 45+ normalized Sequelize/MySQL entities: EMR (allergies, medications, vitals, HPI, operations, family history), scheduling, doctor credentialing (degrees, residencies, fellowships, board certificates, awards), referrals, and billing.
Independent video scaling
Isolated the OpenTok token-issuing service from the main API so video session load can scale independently of business logic and database traffic.
Timezone-aware availability
Combined availableAppointmentSlot and doctorBusySchedule with moment-timezone conflict detection to prevent double-booking across regions.
Defense-in-depth security
OTP via Nexmo for first-factor, optional TOTP (Speakeasy) for second-factor, bcrypt password hashing, JWT for session, and express-validator on every endpoint.
Real-time video reliability
Cleanly integrated OpenTok session and stream lifecycle with Angular routing to avoid orphaned streams and memory leaks across navigation.
Two role-based portals in one codebase
Lazy-loaded doctor and patient Angular modules sharing a single UI kit and shared module to minimize duplication while preserving role-specific UX.
Secure document handling
Streaming uploads through Node to AWS S3 with signed-URL access for HIPAA-aware retrieval of patient documents and lab reports.
Outcomes
4
Deployable services
45+
Sequelize models
Real-time
Video consultations
Have a product idea or a system to scale?
Tell us what you're building. You'll hear back within one business day - from a senior engineer, not a sales rep.
- Free 30-min discovery call
- Fixed-scope or T&M engagements
- NDA on request - first reply within 24h
