Santé : transcription de consultations
Oui : Whisper (faster-whisper) transcrit l'audio et un LLM local rédige le compte-rendu, sans que rien ne quitte le poste du médecin. Le local n'efface pas le cadre : secret professionnel, information du patient avec droit d'opposition, accord pour l'enregistrement de la voix, hébergeur HDS si un tiers stocke, et relecture par le médecin lui-même.
Un médecin qui rédige ses comptes-rendus le soir peut gagner du temps avec une chaîne locale audio, transcription puis compte-rendu structuré. Vous saurez la monter, connaître ses limites (hallucinations, contexte tronqué) et respecter le cadre fixé par la HAS, la CNIL et l'Ordre des médecins, en corrigeant plusieurs idées reçues.
#Transcrire une consultation en local : ce qui est permis, et à quelles conditions
Oui, un médecin peut transcrire ses consultations avec une IA sans que l'audio quitte son poste : Whisper transcrit la voix, un LLM local (via Ollama) rédige un compte-rendu structuré, et le professionnel relit et valide. Cela n'efface pas les obligations légales. Le guide HAS et CNIL de 2026 rappelle que l'introduction d'un système d'IA ne change pas les règles du secret professionnel de l'article L. 1110-4 du Code de la santé publique. Il faut aussi informer le patient et respecter son droit d'opposition. L'hébergement chez un tiers suppose un hébergeur certifié HDS. Le traitement local évite précisément ce transfert et ses risques. Ce guide monte le pipeline, puis détaille le cadre et les vérifications indispensables, en corrigeant quelques idées reçues.
La transcription automatique de consultation est, selon ce même guide, le cas d'usage le plus fréquent des IA génératives en contexte de soins. L'enjeu n'est donc pas de savoir si l'on peut le faire, mais comment le faire proprement.
#Le cadre français : ce que disent les guides officiels
Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.
- Espace en ligne à vie
- PDF + fichiers
- Mises à jour à vie
Le tableau reprend chaque exigence avec son effet concret sur un pipeline local. Il corrige au passage deux idées répandues : le consentement du patient n'est pas la base légale du traitement, et l'HDS n'est pas exigé par principe, mais lorsqu'un tiers héberge les données.
| Sujet | Ce que disent les guides | Conséquence pratique |
|---|---|---|
| Secret professionnel | L'IA ne change pas les règles de l'article L. 1110-4 du CSP | Le compte-rendu reste soumis au secret ; limitez l'accès au poste |
| Hébergement | Un tiers qui héberge des données de santé (cloud) doit être certifié hébergeur de données de santé | Traitement sur le poste du médecin : pas de tiers hébergeur dans le flux |
| Base légale | La CNIL estime que le consentement n'est ni la base légale ni l'exception pour ces traitements | Documentez la base retenue avec votre DPO ; ne comptez pas sur une case cochée |
| Information | Une information loyale, accessible, avec droit d'opposition suffit dans la majorité des cas | Affichez ou dites que la consultation est transcrite ; respectez le refus |
| Enregistrement vocal | L'usage d'enregistrements vocaux identifiants est soumis au consentement au titre du code civil | Recueillez l'accord du patient avant d'enregistrer la voix |
| Validation du compte-rendu | Il ne devrait pas être validé par un tiers absent de la consultation, comme une secrétaire | Le médecin qui a vu le patient relit lui-même |
| Conservation | Le Conseil de l'Ordre préconise 20 ans après la dernière consultation, en l'absence de texte propre à l'exercice libéral | Le compte-rendu suit ce délai ; l'audio brut n'a pas de raison d'être gardé |
#Deux idées reçues à abandonner
Première idée reçue : « ChatGPT est formellement interdit ». Les textes ne visent aucun outil en particulier. Le problème est structurel : envoyer des données de santé à un service en ligne les fait sortir de votre poste, ce qui appelle un hébergeur certifié, un contrat de sous-traitance et une information adaptée. Le guide HAS et CNIL identifie d'ailleurs un risque d'atteinte au secret médical lié à l'intégration de données sensibles dans les requêtes aux agents conversationnels en ligne.
Seconde idée reçue : « local veut dire conforme ». Le traitement local supprime le transfert, non l'obligation de tenir un registre, d'informer les patients, de sécuriser le poste et de se poser la question de l'analyse d'impact. Le guide range l'AIPD parmi les obligations du déployeur, le cas échéant : faites-vous accompagner pour trancher ce point, ainsi que la qualification éventuelle de votre outil en dispositif médical.
#La stack : Whisper, un LLM local et, en option, la diarisation
| Brique | Rôle | À savoir |
|---|---|---|
| faster-whisper | Transcrit l'audio (implémentation CTranslate2 de Whisper) | Annoncé jusqu'à quatre fois plus rapide que l'implémentation d'origine à précision égale |
| Modèle large-v3 | Modèle multilingue de la famille Whisper, français compris | Téléchargé au premier usage ; à valider sur vos propres enregistrements |
| Ollama + qwen3.5:9b | Rédige le compte-rendu structuré | Modèle de 9 milliards de paramètres ; 6,6 Go selon la bibliothèque Ollama |
| pyannote (option) | Diarisation : qui parle quand | Modèle à télécharger avec un jeton Hugging Face après acceptation de ses conditions |
Côté débit, la documentation de faster-whisper donne un repère daté : 13 minutes d'audio transcrites en 1 minute 03 avec le modèle large-v2 en fp16, à 4 525 Mo de VRAM, sur une RTX 3070 Ti de 8 Go (benchmark des mainteneurs, CUDA 12.4). Les mêmes mainteneurs mesurent 59 secondes pour 2 926 Mo en int8. Ce sont leurs mesures, sur leur machine, pas les nôtres : elles indiquent qu'une carte graphique modeste transcrit plus vite que le temps réel, sans en faire une promesse pour votre poste.
#Installation
Avec un GPU NVIDIA, faster-whisper exige les bibliothèques cuBLAS et cuDNN 9 pour CUDA 12. Sans elles, le programme échoue au chargement du modèle : installez-les avant de tester, ou passez en mode processeur.
#Transcrire l'audio
Le script ci-dessous fixe la langue, active le filtre de silence (VAD) et horodate chaque segment. Adaptez la première ligne : device cuda avec float16 pour un GPU NVIDIA, device cpu avec int8 pour un Mac ou un PC sans carte compatible.
Le paramètre hotwords, exposé par la fonction de transcription de faster-whisper, permet de suggérer au modèle des termes attendus : noms de médicaments, sigles, examens. Il aide sans garantir : relisez toujours les noms propres et les dosages.
#Whisper peut écrire ce que personne n'a dit
La fiche du modèle large-v3 prévient que les prédictions peuvent contenir des textes qui ne figurent pas dans l'audio, ce qu'elle nomme hallucination. Sur une consultation, cela peut donner une phrase plausible inventée dans un silence, un chiffre modifié ou un nom de médicament proche mais faux. Le filtre VAD réduit le risque dans les silences ; il ne remplace pas la relecture.
#Rédiger le compte-rendu structuré
Le second script envoie la transcription à un modèle local via l'API d'Ollama. Deux réglages comptent : une température basse pour limiter les inventions, et une fenêtre de contexte suffisante. La documentation d'Ollama indique une fenêtre par défaut de 4 000 tokens environ sous 24 Gio de VRAM. Une consultation de vingt minutes représente de l'ordre de 3 000 mots, soit plusieurs milliers de tokens (estimation, variable selon le débit de parole) : sans num_ctx explicite, la fin de la transcription risque d'être tronquée. L'exemple fixe donc 16 384 tokens.
Ce prompt applique les principes du guide sur les system prompts : règles vérifiables, format de sortie explicite, comportement prévu quand l'information manque. La consigne « Non mentionné » compte : elle évite que le modèle remplisse une section vide avec une hypothèse plausible.
#Diarisation : distinguer médecin et patient
La diarisation attribue chaque segment à un locuteur (SPEAKER_00, SPEAKER_01). Elle sert surtout quand vous enregistrez la consultation elle-même, à deux voix ; pour une dictée du médecin seul, elle est inutile. Le dépôt de pyannote recommande aujourd'hui le pipeline community-1 : il faut accepter ses conditions d'utilisation sur Hugging Face et créer un jeton d'accès pour le télécharger. L'inférence s'exécute ensuite localement.
#Workflow type en cabinet
- 01Informer le patientAvant l'enregistrement, indiquez que la consultation ou la dictée sera transcrite par un outil local et que le patient peut s'y opposer. Si vous enregistrez sa voix, recueillez son accord. Tracez l'information dans le dossier.
- 02EnregistrerDeux options : dicter 1 à 2 minutes de notes après la consultation (le patient n'est plus enregistré), ou enregistrer l'échange (accord vocal exigé, diarisation utile). La dictée minimise la donnée collectée.
- 03Déposer le fichier sur le posteTransférez l'audio (WAV, MP3, M4A) dans un dossier dédié, chiffré. Un petit script surveille le dossier et déclenche le traitement.
- 04Lancer le pipelineLe script transcrit, résume, enregistre le compte-rendu en texte à côté de l'audio et journalise l'opération sans y écrire de contenu médical.
- 05Relire et valider soi-mêmeLe médecin qui a vu le patient relit le compte-rendu, corrige, puis l'intègre à son logiciel de gestion de cabinet. Une tierce personne absente de la consultation ne peut pas repérer les hallucinations.
- 06Supprimer l'audio brutUne fois le compte-rendu validé, supprimez l'audio et la transcription intermédiaire : la donnée n'a plus de finalité, et le compte-rendu suit le dossier médical.
#Que vérifier à la relecture
| Élément | Risque | Vérification |
|---|---|---|
| Médicaments et dosages | Nom proche, unité ou posologie changée | Comparer avec la prescription réelle |
| Antécédents | Antécédent inventé ou attribué au mauvais patient | Confronter au dossier |
| Négations | « Pas de fièvre » devenu « fièvre » | Relire les phrases négatives |
| Sections vides | Hypothèse plausible substituée à « Non mentionné » | Vérifier que rien n'a été complété |
| Dates et durées | Durée de traitement ou délai de suivi erroné | Recouper avec ce qui a été dit |
#Conservation, sécurité et traçabilité
- Registre des traitements
- Le guide CNIL et Ordre des médecins demande de tenir un registre des activités de traitement ; ajoutez-y une ligne décrivant ce pipeline local et ses finalités.
- Durée de conservation
- Le compte-rendu suit la durée du dossier médical (20 ans après la dernière consultation, selon la préconisation ordinale). L'audio brut, non nécessaire une fois le compte-rendu validé, se supprime.
- Chiffrement et sauvegardes
- Chiffrez le disque (FileVault, BitLocker, LUKS) et sauvegardez régulièrement, sur un support chiffré conservé hors du cabinet. Un poste volé avec des données de santé en clair est une violation de données.
- Traçabilité
- Conservez la trace de l'information du patient, de la version des outils et de la validation du médecin : ce sont vos éléments de démonstration en cas de contrôle.
- Transcription médicale et LLM local : conformité données patient
- Whisper + Ollama en local : transcription 100 % hors ligne
- Synthèse de dossiers médicaux
- Chiffrer le disque des modèles
- WhisperX : horodatage mot à mot et locuteurs
- Maîtriser les system prompts
- Source : guide HAS et CNIL, bon usage des systèmes d'IA en contexte de soins
- Source : guide CNOM et CNIL sur la protection des données des patients
- Source : faster-whisper
- Source : fiche du modèle Whisper large-v3
- Source : pyannote-audio
Peut-on transcrire une consultation médicale avec une IA ?+
Faut-il le consentement du patient pour transcrire sa consultation ?+
Un hébergeur HDS est-il obligatoire pour un pipeline local ?+
Whisper est-il fiable pour le vocabulaire médical français ?+
Une secrétaire médicale peut-elle valider le compte-rendu généré ?+
Quelle configuration pour faire tourner ce pipeline ?+
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.