Skip to main content
Version: v0.1.0

Jitsi Telehealth Setup

Guide to configuring Jitsi Meet for secure telehealth video consultations.

Overview

Jitsi Meet provides:

  • Secure, encrypted video conferencing
  • Screen sharing & chat
  • No installation required for patients (browser-based)
  • Integrated waiting room

Architecture

Ciyex EHR integrates Jitsi via the Jitsi IFrame API.

  • Self-Hosted: You can host your own Jitsi instance for full control.
  • Jitsi as a Service (JaaS): Use 8x8's managed service.

Configuration

Frontend (.env)

NEXT_PUBLIC_JITSI_DOMAIN=meet.jit.si
# For self-hosted:
# NEXT_PUBLIC_JITSI_DOMAIN=video.yourclinic.com

JWT Authentication

To prevent unauthorized access, rooms are protected via JWT. The Ciyex backend generates a JWT that the frontend uses to join the room.

Backend Configuration:

jitsi:
app-id: ${JITSI_APP_ID}
secret: ${JITSI_SECRET}
domain: meet.jit.si

Usage

Starting a Visit (Provider)

  1. Provider clicks "Start Telehealth".
  2. System creates a unique room ID (e.g., ciyex-encounter-12345).
  3. Backend generates a JWT with moderator privileges.
  4. Jitsi IFrame loads.

Joining a Visit (Patient)

  1. Patient logs into the portal.
  2. Clicks "Join Appointment".
  3. Backend generates a JWT with participant privileges.
  4. Jitsi IFrame loads.

Security Considerations

  • Room Names: Use random, high-entropy UUIDs for room names to prevent guessing.
  • Encryption: Enabling End-to-End Encryption (E2EE) is supported by Jitsi.
  • Access Control: Only authenticated users with a valid appointment can generate a token for that specific room.

Troubleshooting

  • Camera/Mic Blocked: Ensure the site is served over HTTPS. Check browser permissions.
  • Firewall: WebRTC requires specific ports (UDP 10000, TCP 443).