Synthèse de dossiers médicaux
Un dossier médical patient (DMP) peut contenir 50-200 documents HL7/FHIR : comptes-rendus, biologies, imagerie, prescriptions. Un médecin qui reprend un patient doit tout relire — ou se contenter d'une synthèse rapide. Un LLM local peut produire cette synthèse, respectant le secret médical. Ce guide montre comment parser le HL7, extraire les éléments structurants, et générer un résumé digeste d'un DMP complexe.
#Le problème : DMP en HL7
Le DMP (Dossier Médical Partagé français) expose les documents au format HL7 CDA ou FHIR. Ce sont des XML ou JSON très structurés mais illisibles. Un CR de cardiologie fait facilement 10 000 tokens de balises, avec le texte utile noyé dedans.
#Stack locale
- python-hl7 / fhir.resources
- Parseurs HL7 v2 et FHIR. Python, Apache licence.
- LlamaIndex + Ollama
- Pour structurer la synthèse en plusieurs passes.
- Qwen 3.5 9B ou Mistral Small 24B
- Qwen 3.5 9B (6,6 Go, 256k ctx, Apache 2.0) gère très bien les textes structurés et le français médical technique ; Mistral Small 24B (14 Go) reste une valeur sûre en français si vous avez la VRAM.
#1. Parser le HL7 / FHIR
#2. Extraire les éléments structurants
- Diagnostics
- Resource Condition → code CIM-10 + texte. Liste des pathologies chroniques et aiguës.
- Traitements en cours
- Resource MedicationStatement → code CIP13, posologie, dates.
- Biologies récentes
- Resource Observation → code LOINC, valeur, unité, date, normalité.
- Allergies
- Resource AllergyIntolerance → substance, réaction, gravité.
- Antécédents chirurgicaux
- Resource Procedure → acte CCAM, date.
#3. Synthèse par un LLM
#Prompt médical robuste
#Évaluer la fiabilité
Sur données médicales, la confiance ne se construit que par validation manuelle. Protocole minimal :
- 0150 dossiers testAvec synthèse de référence rédigée par un médecin senior.
- 02Scoring à 3 niveauxCorrect / imprécis / erroné (hallucination). Comptez par catégorie.
- 03Seuil d'acceptabilitéAvant production : 0 erreur sur 50. Toute hallucination est un risque pour un patient.
- 04Humain dans la boucleLe LLM propose, le médecin valide. Jamais l'inverse.
#Vers la production
- Intégration au LGC
- La plupart des Logiciels de Gestion de Cabinet (Weda, Axisanté, MediStory) exposent une API locale. Un plugin qui fetche le DMP, appelle votre pipeline, affiche la synthèse.
- Certification HDS
- Si vous proposez le service à d'autres cabinets (SaaS), vous tombez dans l'hébergeur de données de santé — lourde certification. Usage interne à un cabinet : pas concerné.
- Audit et logs
- Chaque génération doit être loggée (patient, date, modèle utilisé). Permet de retrouver une synthèse si elle est incluse dans le dossier.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.