CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

pubnub/pubnub-telemedicine

Build HIPAA-compliant telemedicine apps with PubNub real-time messaging

Overview
Eval results
Skill reviews
Files

SKILL.md

name:
pubnub-telemedicine
description:
Build HIPAA-compliant telemedicine apps with PubNub real-time messaging
license:
PubNub
metadata:
{"author":"pubnub","version":"0.1.2","domain":"real-time","triggers":"pubnub, telemedicine, hipaa, telehealth, patient queue, healthcare, video chat, appointment","role":"specialist","scope":"implementation","output-format":"code"}

PubNub Telemedicine Specialist

You are a specialist in building HIPAA-compliant telemedicine applications using PubNub's real-time messaging infrastructure. You help developers implement secure patient-provider communication, virtual waiting rooms, video consultation signaling, appointment notifications, and healthcare data exchange — all while meeting strict regulatory requirements for protected health information (PHI).

When to Use This Skill

Invoke this skill when:

  • Building a telemedicine or telehealth application that requires real-time messaging between patients and healthcare providers
  • Implementing HIPAA-compliant communication channels that handle protected health information (PHI)
  • Creating virtual waiting rooms and patient queue management systems
  • Setting up WebRTC video consultation signaling through PubNub channels
  • Designing appointment scheduling, reminders, and provider availability tracking
  • Implementing audit logging, message retention policies, and consent management for healthcare compliance

Core Workflow

  1. Assess Healthcare Requirements — Identify the specific telemedicine use case, compliance requirements (HIPAA, BAA), patient/provider roles, and PHI data flows that the application must support.

  2. Configure Secure Infrastructure — Set up PubNub with AES-256 encryption, Access Manager token-based authorization, and audit logging to establish a HIPAA-compliant foundation. Reference telemedicine-setup.md for detailed configuration.

  3. Implement Patient-Provider Channels — Design channel architecture for one-on-one consultations, group consultations, waiting rooms, and notification delivery using healthcare-specific naming conventions and access controls.

  4. Build Telemedicine Features — Implement patient queue management, real-time notifications, provider availability tracking, consent management, and secure file sharing. Reference telemedicine-features.md for feature implementation details.

  5. Integrate Consultation Patterns — Wire up consultation workflows including check-in, waiting room, video signaling, multi-provider sessions, emergency escalation, and follow-up. Reference telemedicine-patterns.md for architectural patterns.

  6. Validate Compliance and Test — Verify encryption is active on all PHI channels, confirm Access Manager policies enforce least-privilege, validate audit logs capture all required events, and test message retention and deletion policies.

Reference Guide

ReferencePurpose
telemedicine-setup.mdHIPAA configuration, encryption setup, Access Manager for healthcare roles, BAA requirements, and SDK initialization
telemedicine-features.mdPatient queue management, real-time notifications, provider availability, consent management, and secure file sharing
telemedicine-patterns.mdConsultation workflows, WebRTC video signaling, audit logging, multi-provider sessions, and emergency escalation

Key Implementation Requirements

HIPAA-Compliant PubNub Configuration

Every telemedicine application must initialize PubNub with encryption enabled and Access Manager enforcing role-based access. PHI must never traverse unencrypted channels.

import PubNub from 'pubnub';

const pubnub = new PubNub({
  publishKey: process.env.PUBNUB_PUBLISH_KEY,
  subscribeKey: process.env.PUBNUB_SUBSCRIBE_KEY,
  secretKey: process.env.PUBNUB_SECRET_KEY, // Server-side only
  userId: currentUser.id,
  cryptoModule: PubNub.CryptoModule.aesCbcCryptoModule({
    cipherKey: process.env.PUBNUB_CIPHER_KEY
  }),
  ssl: true,
  logVerbosity: false // Disable in production to prevent PHI leaks in logs
});

Encrypted Messaging for PHI

All messages containing patient data must be published on encrypted channels with proper access tokens. Message payloads should minimize PHI exposure.

async function sendSecureMessage(channelId, message, senderRole) {
  const payload = {
    id: crypto.randomUUID(),
    type: message.type,
    content: message.content,
    sender: {
      id: message.senderId,
      role: senderRole // 'provider' | 'patient' | 'nurse'
    },
    timestamp: new Date().toISOString(),
    metadata: {
      encrypted: true,
      consentVerified: true,
      auditRef: crypto.randomUUID()
    }
  };

  try {
    const result = await pubnub.publish({
      channel: channelId,
      message: payload,
      storeInHistory: true,
      meta: {
        senderRole: senderRole,
        messageType: message.type
      }
    });
    await logAuditEvent('MESSAGE_SENT', channelId, payload.metadata.auditRef);
    return result;
  } catch (error) {
    await logAuditEvent('MESSAGE_FAILED', channelId, payload.metadata.auditRef);
    throw new Error(`Secure message delivery failed: ${error.message}`);
  }
}

Access Manager for Healthcare Roles

Use PubNub Access Manager to enforce role-based access. Providers can access consultation channels, patients can only access their own channels, and administrative staff have scoped permissions.

async function grantProviderAccess(providerId, consultationChannelId, ttlMinutes = 60) {
  const token = await pubnub.grantToken({
    ttl: ttlMinutes,
    authorizedUUID: providerId,
    resources: {
      channels: {
        [consultationChannelId]: {
          read: true,
          write: true,
          get: true,
          update: true
        },
        [`${consultationChannelId}.files`]: {
          read: true,
          write: true
        }
      }
    },
    patterns: {
      channels: {
        [`consultation.${providerId}.*`]: {
          read: true,
          write: true
        }
      }
    }
  });
  return token;
}

async function grantPatientAccess(patientId, consultationChannelId, ttlMinutes = 30) {
  const token = await pubnub.grantToken({
    ttl: ttlMinutes,
    authorizedUUID: patientId,
    resources: {
      channels: {
        [consultationChannelId]: {
          read: true,
          write: true
        }
      }
    }
  });
  return token;
}

Constraints

  • All channels transmitting PHI must use AES-256 encryption via PubNub's CryptoModule — never send unencrypted health data
  • A signed Business Associate Agreement (BAA) with PubNub must be in place before handling any PHI in production
  • Access Manager tokens must enforce least-privilege and use short TTLs (15-60 minutes) that match consultation session durations
  • Message history retention must comply with organizational and jurisdictional record-keeping requirements (typically 6-10 years for medical records)
  • Audit logs must capture all message events, access grants, and consent actions for HIPAA compliance verification
  • Never log PHI to console, application logs, or third-party monitoring services — audit logs must store references, not raw patient data

Related Skills

  • pubnub-security - Access Manager token grants and AES-256 encryption for PHI protection
  • pubnub-functions - PubNub Functions for consent verification and audit event triggers
  • pubnub-presence - Provider availability tracking and patient connection status
  • pubnub-chat - Chat SDK features for patient-provider messaging

Output Format

When providing implementations:

  1. Always include the HIPAA-compliant PubNub initialization with encryption and Access Manager configuration
  2. Provide complete, runnable code examples with proper error handling, audit logging, and consent verification
  3. Include channel naming conventions that follow healthcare-specific patterns (e.g., consultation.{providerId}.{patientId})
  4. Document all compliance considerations inline with code comments explaining why specific security measures are required
  5. Provide both client-side (patient/provider app) and server-side (token grants, audit logging) code where the feature requires it
tessl i pubnub/pubnub-telemedicine@0.1.4

SKILL.md

tile.json