Guides avancésIntégrations médicalesIndex

Intégrations médicales

Guides d’intégration avec les systèmes médicaux et plateformes techniques.


Intégrations avec systèmes médicaux

DMP (Dossier Médical Partagé)

Vue d’ensemble

Intégration avec le DMP pour enregistrer automatiquement les transcriptions dans le dossier patient.

Guide d’intégration

  1. Authentification DMP

    • Obtenir les credentials DMP
    • Configurer l’authentification OAuth2
  2. Envoi des transcriptions

    // Après réception de la transcription finale
    if (transcript.status === 'final') {
      await sendToDMP({
        patientId: metadata.patient_id,
        transcription: transcript.text,
        date: new Date(),
        type: 'consultation'
      });
    }
  3. Format des données

    • Respecter le format HL7/FHIR
    • Inclure les métadonnées requises
    • Gérer les erreurs de synchronisation

PACS (Picture Archiving and Communication System)

Vue d’ensemble

Export des transcriptions vers le PACS pour association avec les images médicales.

Guide d’intégration

  1. Association avec les images

    // Lier la transcription à une étude PACS
    await linkTranscriptionToPACS({
      transcriptionId: transcript.id,
      studyInstanceUID: pacsStudy.uid,
      seriesInstanceUID: pacsSeries.uid
    });
  2. Format DICOM SR

    • Convertir la transcription en DICOM Structured Report
    • Inclure les métadonnées DICOM
    • Envoyer au PACS via DICOM C-STORE

Logiciels de gestion cabinet

Vue d’ensemble

Intégration avec les logiciels de gestion de cabinet (Doctolib, Cegedim, etc.).

Guide d’intégration

  1. API du logiciel

    • Consulter la documentation de l’API du logiciel
    • Obtenir les credentials d’intégration
  2. Webhook vers le logiciel

    // Envoyer la transcription au logiciel
    await sendToPracticeManagement({
      patientId: metadata.patient_id,
      consultationId: metadata.consultation_id,
      transcription: transcript.text,
      date: new Date()
    });

Intégrations avec plateformes techniques

Twilio

Vue d’ensemble

Transcription d’appels téléphoniques via Twilio.

Guide d’intégration

  1. Configuration Twilio

    // Webhook Twilio vers votre serveur
    app.post('/twilio/voice', async (req, res) => {
      const streamUrl = `wss://api.ephia.ai/api/v1/audio/live?token=${API_KEY}`;
      
      // Rediriger le stream audio vers Ephia
      res.json({
        action: 'stream',
        streamUrl: streamUrl
      });
    });
  2. Réception des transcriptions

    • Recevoir les transcriptions via webhook
    • Associer à l’appel Twilio
    • Enregistrer dans votre système

WebRTC

Vue d’ensemble

Transcription en temps réel de visioconférences WebRTC.

Guide d’intégration

  1. Capture audio WebRTC

    // Capturer l'audio depuis WebRTC
    const audioStream = peerConnection.getRemoteStreams()[0];
    const audioTrack = audioStream.getAudioTracks()[0];
     
    // Convertir en PCM et envoyer à Ephia
    const mediaStream = new MediaStream([audioTrack]);
    const audioContext = new AudioContext({ sampleRate: 16000 });
    // ... conversion et envoi
  2. Affichage en temps réel

    • Afficher les transcriptions pendant la visio
    • Gérer les multiples locuteurs
    • Sauvegarder après la session

Zoom / Microsoft Teams

Vue d’ensemble

Plugins de transcription pour Zoom et Teams.

Guide d’intégration

  1. Plugin Zoom

    • Créer une application Zoom
    • Configurer les webhooks
    • Intégrer avec l’API Ephia
  2. Plugin Teams

    • Créer une application Teams
    • Utiliser les APIs Microsoft Graph
    • Intégrer avec l’API Ephia

Exemples d’intégration complets

Exemple : Intégration DMP complète

// Backend Node.js
const express = require('express');
const app = express();
 
// Webhook Ephia
app.post('/ephia/webhook', async (req, res) => {
  const event = req.body;
  
  if (event.type === 'transcription.completed') {
    const { session_id, transcription, metadata } = event.data;
    
    // Envoyer au DMP
    await sendToDMP({
      patientId: metadata.patient_id,
      transcription: transcription,
      date: new Date(),
      source: 'ephia-voice-api',
      sessionId: session_id
    });
  }
  
  res.status(200).send('OK');
});
 
// Fonction d'envoi au DMP
async function sendToDMP(data) {
  // Implémentation de l'envoi au DMP
  // Format HL7/FHIR
}

Bonnes pratiques

  • ✅ Valider les données avant l’envoi
  • ✅ Gérer les erreurs de synchronisation
  • ✅ Implémenter un retry avec backoff
  • ✅ Logger toutes les intégrations
  • ✅ Tester en environnement de staging
  • ✅ Respecter les formats de données (HL7, FHIR, DICOM)

Support

Pour des intégrations spécifiques ou de l’aide :