Skip to main content
WIP EUPL-1.2Healthcare Services

Telemedic

Open-source telemedicine platform with WebRTC, FHIR, and SSO, EU public sector compliant.

Status
WIP
License
EUPL-1.2
Category
Healthcare Services
Updated

Project status

Description

Telemedic is an open-source telemedicine platform that enables video consultations between doctors and patients with high-quality clinical standards (HD + clear audio + adaptive bandwidth) and EU compliance tracking. The architecture combines WebRTC peer-to-peer media streaming (target latency <200ms, no server-side transcodification), a Spring Boot 3 signaling server, and an FHIR R4 layer that persists consultation metadata (Encounter, DiagnosticReport, Practitioner, Patient, Observation) for integration with existing EHR systems like MedBook. The security is designed for sensitive healthcare data: end-to-end encrypted media using DTLS-SRTP, Keycloak SSO with OIDC for medical and patient authentication, immutable audit logs of every session (who saw what, when, duration, outcome), optional and configurable session recording (with explicit patient consent, stored securely and accessible only to the treating doctor). The integration with TimescaleDB allows storing quality metrics (RTT, packet loss, jitter, bitrate average) for technical quality auditing and troubleshooting. The Angular 21 SSR frontend with standalone components offers a simple UI (lobby, waiting room, consultation room, text chat, file sharing) accessible to WCAG 2.1 AA. Licensed under EUPL-1.2 for alignment with the EU public sector. Deploy target: small-medium-sized clinics, mutualistic telemedicine, regional public telemedicine, specialist studies (cardiology, psychiatry, dermatology with photo-consultation). The philosophy is 'sovereign telemedicine': clinical data and video flows never pass through US-based servers, no hidden Zoom/Teams usage, no commercial analytics.

Key Features

  • WebRTC Peer-to-Peer High Definition

    Signaling for Spring Boot, ICE candidate exchange, configurable STUN/TURN settings, fallback relay on peer-to-peer failure, adaptive bitrate.

  • End-to-End Encryption using DTLS-SRTP

    Peer-to-peer encrypted media stream, no intermediate decryption, session-based key rotation, FIPS 140-2 compliant ciphers.

  • FHIR R4 Encounter Integration

    Encounter resource created at session start, diagnostic report persisted at session end, integration with existing MedBook or EHR via REST.

  • Keycloak SSO for Medical and Patient

    Two Realm Keycloak (Clinic and Patient) authentication with SPID/CIE supported in Q1 2027 roadmap, OIDC standard.

  • Immutable Session Audit Log

    Table Aud Envers on Encounter, session duration, outcome, cancellation reason, immutable audit log for AGENAS/AgID.

  • Optional encrypted recording

    Session recording with explicit patient consent (dedicated UI), encrypted MP4 at rest, configurable retention, restricted access to doctor.

  • Metrics Quality TimescaleDB

    RTT, packet loss, jitter, average bitrate per session, Grafana dashboard ready, clinical quality threshold alert.

  • Accessibility for Everyone with Web Content Accessibility Guidelines (WCAG) 2.1 Level A/AAA Compliance

    Standalone components, Angular 21, screen reader compatible, keyboard navigation, WCAG AA compliant with reduced motion support.

Angular + Spring Boot on top of a PostgreSQL database hosted in the cloud via AWS or Google Cloud Platform

  • Spring Boot 3.4
  • Java 21
  • WebRTC
  • Angular 21
  • FHIR R4
  • Keycloak SSO
  • TimescaleDB
  • coturn (STUN/TURN)
  • Docker Compose

Use cases

  • Specialized clinic offering follow-up consultations via telemedicine (cardiology, psychiatry, dermatology)
  • Mutualistic or health insurance that integrates telemedicine into coverage plan
  • Public regional telemedicine (USL) as an open-source alternative to commercial solutions
  • Medical practice associated that wants to offer remote consultations without exposing data to US-based SaaS providers.

Road Map

  1. v0.1.0Scheduled

    Signaling and WebRTC Base

    • Signaling Server for Spring Boot WebSocket
    • WebRTC Peer Connection Setup and ICE Configuration
    • Frontend Angular lobby and consultation room base
    • Keycloak SSO Medical Realm
  2. v0.5.0Scheduled

    FHIR Integration, Audit, and Quality Metrics

    • Encounter and Diagnostic Report
    • Hibernate Envers Audit Log Sessions
    • Real-time latency, jitter, and packet loss metrics.
    • Patient Realm - Keycloak and UI Consent
  3. v1.0.0Scheduled

    Concise - Keep Similar Length

    • Encrypted session recording (optional)
    • WCAG 2.1 AA Audit Frontend
    • Documentation for MkDocs and deployment guide
    • End-to-end integration testing with MedBook

Who is it for

  • For Developer Senior
  • Decision Maker/Founder

Quick start

Start the project locally with four commands, requires Docker and GitHub Desktop is not required but a git client like SourceTree or Visual Studio Code's built-in one will do just fine though.

# Quick start (work-in-progress, repo non ancora pubblicato)
# git clone https://github.com/<tba>/telemedic.git
# cd telemedic
# cp .env.example .env  # configura STUN/TURN, Keycloak, TimescaleDB
# docker compose up -d  # signaling + keycloak + timescale + frontend

Contribute to the project

Telemedic is open source. Open an issue, propose a pull request or leave a star on GitHub: every contribution, no matter how small, is welcome.

  • ⭐ Leave a star if it's useful
  • 🐛 Report bugs or suggest features via issue
  • 🔧 Send a pull request with fixes or improvements
  • 📣 Share the project if you find it interesting