Technologie - DICOM : intégrer et désidentifier des images médicales dans vos applications
DICOM est le standard international des images médicales : il fixe le format des fichiers produits par les scanners, IRM et échographes, et la façon dont ces appareils échangent avec les serveurs d'images. Naeka intègre l'import d'examens DICOM dans des applications médicales, les pseudonymise pour la recherche et les relie aux données cliniques.

Qu'est-ce que DICOM ?
DICOM, pour Digital Imaging and Communications in Medicine, est le standard international qui sert à transmettre, stocker et afficher les images médicales. Il est publié depuis 1993 et reconnu par l'ISO sous la référence ISO 12052. Grâce à lui, un scanner, un serveur d'images et une station de lecture de marques différentes se comprennent.
Le standard couvre deux choses :
- un format de fichier : chaque fichier DICOM contient l'image et des métadonnées dans son en-tête, comme le nom et l'identifiant du patient, la date de l'examen, le type d'appareil ou l'établissement
- un protocole d'échange : les commandes que les appareils et les serveurs s'envoient sur le réseau pour pousser, chercher et récupérer des examens
Un examen est donc rarement un seul fichier : un scanner produit en général un fichier par coupe, et ces fichiers sont regroupés en séries puis en études.
Ce que nous avons construit avec DICOM
Colibri : des examens déposés depuis le navigateur
Colibri, l'application de suivi des patients en pneumologie, a son serveur d'images médicales depuis 2018.
Le médecin y joint les examens de son patient en déposant un dossier entier. Avant l'envoi, le navigateur lit l'en-tête de chaque fichier dans un web worker, avec la bibliothèque dicom-parser, et ne garde que les fichiers DICOM.
Des tags DICOM privés, ajoutés aux fichiers, relient chaque examen au patient et à l'envoi dans Colibri. Sur le serveur d'images, chaque médecin ne voit que les examens auxquels il a droit.
Cobra : des examens pseudonymisés pour une cohorte de recherche
Dans Cobra, l'e-CRF de la cohorte asthme et BPCO de l'Inserm et du CHU de Bordeaux, les examens d'imagerie des patients sont envoyés sur la plateforme depuis 2023 :
- l'envoi se fait par sessions, avec 10 envois en parallèle
- le serveur pseudonymise les fichiers DICOM et prépare une archive zip par étude
- les radiologues reçoivent un e-mail quand de nouvelles études arrivent
- les résultats de quantification scanner (emphysème, épaisseur de paroi bronchique, bronchectasies, rapport artère pulmonaire sur aorte) sont saisis dans l'e-CRF et exportés en Excel
Désidentifier des images médicales
Un fichier DICOM porte des données identifiantes dans son en-tête : le nom et l'identifiant du patient, sa date de naissance, le nom de l'établissement et du médecin prescripteur. Les attributs privés, propres à chaque constructeur, peuvent eux aussi contenir des données identifiantes. Et certains appareils écrivent des informations directement dans les pixels de l'image.
La partie 15 du standard DICOM décrit un profil de confidentialité de base : la liste des attributs à vider, à remplacer ou à supprimer, dont les attributs privés. Par défaut, ce profil efface aussi les dates et les caractéristiques du patient. Des options permettent de garder les dates complètes, ou l'âge, le sexe, la taille et le poids, quand l'étude en a besoin.
Dans Cobra, les fichiers sont traités côté serveur, en Python, avec pydicom et dicom-anonymizer. Les données identifiantes en sont retirées, sauf la date et l'heure de l'étude et le sexe du patient. L'examen reste rattaché au patient de la cohorte par un code : au sens du RGPD, c'est une pseudonymisation.
Ce que Naeka peut faire pour vous
Importer des images DICOM dans votre application
Nous ajoutons à votre application un dépôt d'examens qui fonctionne depuis le navigateur : tri des fichiers DICOM avant l'envoi, envoi en parallèle des gros examens, rattachement de chaque examen au bon patient.
Pseudonymiser des examens pour une étude
Nous écrivons la désidentification côté serveur à partir de votre protocole d'étude, qui dit ce qui doit disparaître des en-têtes et ce qui doit rester pour l'analyse.
Stocker et servir les images
Nous mettons en place le stockage des examens et l'accès aux images, avec des droits qui suivent ceux de votre application : un médecin, un centre ou un radiologue ne voit que ce qui le concerne.
Relier les images aux données cliniques
Nous rattachons chaque examen au patient et à la visite dans votre application, et nous faisons entrer les résultats d'analyse des images dans vos exports.
Nous développons ces traitements en Python, avec Django pour l'application et l'API, comme sur nos autres projets e-santé.
Un projet avec de l'imagerie médicale ?
Décrivez-nous vos examens et votre protocole : qui dépose les images, et ce qui doit en être retiré avant l'analyse.