Partager via


Utiliser la transformation des données DICOM dans les solutions de données de santé

Note

Ce contenu est en cours de mise à jour.

La fonctionnalité de transformation des données DICOM dans les solutions de données de santé vous permet d’ingérer, de stocker et d’analyser les données DICOM (Digital Imaging and Communications in Medicine) de diverses sources. Pour en savoir plus sur la fonctionnalité et comprendre comment la déployer et la configurer, consultez :

La transformation des données DICOM est une fonctionnalité facultative avec les solutions de données de santé dans Microsoft Fabric.

Conditions préalables

Avant d’exécuter le pipeline de transformation des données DICOM, assurez-vous d’avoir effectué les conditions préalables, le processus de déploiement et les étapes de configuration expliqués dans Déployer et configurer la transformation des données DICOM.

Options d’ingestion des données

Cet article fournit des instructions détaillées sur la façon d’utiliser la fonctionnalité d’ingestion DICOM pour ingérer, transformer et unifier le jeu de données d’imagerie DICOM. La fonctionnalité prend en charge les deux options d’exécution suivantes :

  • Option 1 : Ingestion de bout en bout des fichiers DICOM. Les fichiers DICOM, aux formats natifs (DCM) ou compressés (ZIP), sont ingérés dans la lakehouse. Cette option est appelée option Ingérer.

  • Option 2 : Intégration de bout en bout avec le service DICOM. L’ingestion est facilitée grâce à l’intégration native avec le service DICOM dans les services de données de santé Azure. Dans cette option, les fichiers DCM sont d’abord transférés du service DICOM des services de données de santé Azure vers Data Lake Storage Gen2. Le pipeline suit ensuite l’exécution Bring Your Own Storage. Cette option est appelée option Services de données de santé Azure (AHDS) .

Option 1 : Ingestion de bout en bout des fichiers DICOM

Dans cette option, nous ingérons les données d’imagerie des fichiers DICOM dans les lakehouses des solutions de données de santé avec le pipeline données préconstruit. Vous pouvez utiliser l’exemple du jeu de données d’imagerie qui contient à la fois des fichiers ZIP et DCM natifs. L’exécution de bout en bout comprend les étapes consécutives suivantes :

  1. Ingérer les fichiers DICOM dans OneLake
  2. Organiser les fichiers DICOM dans OneLake
  3. Extraire les métadonnées DICOM dans la lakehouse bronze
  4. Convertir les métadonnées DICOM au format FHIR (Fast Health Interoperability Resources)
  5. Ingérer les données dans la table delta ImagingStudy de la lakehouse bronze
  6. Aplatir et transformer les données dans la table delta ImagingStudy de la lakehouse argent
  7. Convertir et ingérer les données dans la table Image_Occurrence de la lakehouse or (facultatif)

Ingérer les fichiers DICOM dans OneLake

Le dossier Ingérer dans la lakehouse bronze représente un dossier de dépôt (file d’attente). Vous pouvez déposer les fichiers DICOM dans ce dossier. Les fichiers sont ensuite déplacés vers une structure de dossiers organisée au sein de la lakehouse bronze.

  1. Accédez au dossier Ingest\Imaging\DICOM\DICOM-HDS dans la lakehouse bronze.

  2. Sélectionnez ... (points de suspension) >Charger>Charger des fichiers.

  3. Sélectionnez et chargez le jeu de données d’imagerie du dossier SampleData. L’étape Déployer les exemples de données déploie automatiquement l’exemple de données dans le dossier.

Il n’existe aucune limitation au nombre de fichiers DCM ou au nombre, à la profondeur et à l’imbrication de sous-dossiers dans les fichiers ZIP ingérés. Pour plus d’informations sur la limitation de la taille de fichier, consultez Taille du fichier d’ingestion.

Organiser les fichiers DICOM dans OneLake

Une fois que les exemples de données ont été déplacés vers les dossiers Bronze Lakehouse, le pipeline organise les fichiers pour le traitement. Il utilise le module ImagingRawDataMovementService dans la bibliothèque de solutions de données de santé pour déplacer les fichiers d’imagerie vers une structure de dossiers optimisée pour un traitement ultérieur :

  1. Transférera les fichiers du dossier Ingest vers une nouvelle structure de dossiers optimisée Files\Process\Imaging\DICOM\yyyy\mm\dd dans la lakehouse bronze. Cette structure de dossiers évolutive et conviviale du lac de données suit les Pratiques recommandées pour la structure du répertoire Azure Data Lake Storage. Pour les fichiers sources au format ZIP contenant plusieurs fichiers DCM, le notebook extrait et déplace chaque fichier DCM vers la structure de dossiers optimisée, quelle que soit la hiérarchie des dossiers d’origine dans les fichiers ZIP sources.

  2. Ajoutera un préfixe d’horodatage Unix aux noms de fichiers. L’horodatage est généré au niveau de la milliseconde pour garantir l’unicité dans les noms de fichiers. Cette fonctionnalité est utile pour les environnements dotés de plusieurs systèmes PACS (Picture Archiving and Communication System) et VNA (Vendor Neutral Archive), où l’unicité du nom de fichier n’est pas garantie.

  3. Si un déplacement de date échoue, les fichiers ayant échoué (avec le préfixe d’horodatage Unix) sont enregistrés dans le dossier Failed dans la structure de dossiers optimisée suivante : Files\Failed\Imaging\DICOM\DICOM-HDS\yyyy\mm\dd\.

Extraire les métadonnées DICOM dans la lakehouse bronze

Cette étape utilise le notebook healthcare#_msft_imaging_dicom_extract_bronze_ingestion pour suivre et traiter les fichiers nouvellement déplacés dans le dossier Process en utilisant le Streaming structuré dans Spark. Le notebook utilise le module MetadataExtractionOrchestrator de la bibliothèque de solutions de données de santé pour effectuer les actions suivantes :

  1. Extrayez les balises DICOM (éléments de données DICOM) disponibles dans les fichiers DCM du dossier Process et ingérez-les dans la table delta dicomimagingmetastore de la lakehouse bronze. Pour plus d’informations sur ce processus de transformation, accédez à Mappage de transformation pour les métadonnées DICOM dans la table delta bronze.

  2. En cas d’échec de l’extraction de données, le notebook enregistre le fichier ayant échoué avec le préfixe d’horodatage Unix dans le dossier Failed de la lakehouse bronze dans la structure de dossiers optimisée suivante Files\Failed\Imaging\DICOM\DICOM-HDS\yyyy\mm\dd\.

    L’extraction des données peut échouer pour plusieurs raisons :

    1. L’analyse des fichiers échoue en raison d’erreurs inconnues ou inattendues.
    2. Les fichiers DCM ont un contenu non valide qui n’est pas conforme au format standard DICOM.

Convertir les métadonnées DICOM au format FHIR

Après l’ingestion des fichiers et rempli la table delta dicomimagingmetastore avec les balises DICOM, l’étape suivante consiste à convertir les métadonnées DICOM au format FHIR.

Ce notebook healthcare#_msft_imaging_dicom_fhir_conversion utilise le Streaming structuré dans Spark pour suivre et traiter les tables delta récemment modifiées dans la lakehouse bronze, y compris dicomimagingmetastore. Il utilise le module MetadataToFhirConvertor dans la bibliothèque de solutions de données de santé pour convertir les métadonnées DICOM dans la table delta bronze dicomimagingmetastore. Le processus de conversion implique la transformation des métadonnées de la table dicomimagingmetastore en ImagingStudy FHIR au format Ressource FHIR R4.3 et l’enregistrement de la sortie comme fichiers NDJSON. Pour plus d’informations sur la transformation, accédez à Mappage de transformation pour les métadonnées DICOM dans la table delta bronze.

Le notebook convertit les métadonnées DICOM en ImagingStudy FHIR et écrit les fichiers NDJSON dans une autre structure de dossiers optimisée pour les fichiers FHIR dans la lakehouse bronze. La structure des dossiers est Files\Process\Clinical\FHIR NDJSON\yyyy\mm\dd\ImagingStudy. Le notebook génère un seul fichier NDJSON pour toutes les métadonnées DICOM traitées dans une seule exécution du notebook. Si vous ne trouvez pas les nouveaux fichiers, Actualisez l’interface utilisateur Fabric et l’explorateur de fichiers OneLake.

Ingérer les données dans la table delta ImagingStudy de la lakehouse bronze

Après avoir ingéré les données DICOM et les avoir converties au format FHIR, le pipeline exécute un pipeline d’ingestion de données FHIR simple, similaire à l’ingestion de toute autre ressource FHIR. Cette étape convertit les données dans le fichier NDJSON ImagingStudy FHIR vers une table delta ImagingStudy dans la lakehouse bronze. Cette table delta conserve l’état brut de la source de données.

L'exécution regroupe les données au niveau de l’instance de la même étude dans un seul enregistrement d’étude DICOM. Pour plus d’informations sur ce modèle de regroupement, consultez Modèle de groupe dans la lakehouse bronze.

Ingérer les données dans la table delta ImagingStudy de la lakehouse argent

Dans cette étape, le pipeline de données exécute le notebook healthcare#_msft_bronze_silver_flatten pour suivre et traiter les enregistrements nouvellement ajoutés dans la maison du lac en bronze. Le notebook aplatit et transforme les données de la table delta ImagingStudy dans la lakehouse bronze vers la table delta ImagingStudy dans la lakehouse argent, conformément au format Ressource FHIR (R4.3).

Le notebook insère les enregistrements ImagingStudy de la lakehouse bronze vers la lakehouse argent. Pour en savoir plus sur le modèle d’upsert, accédez à Modèle d’upsert dans la lakehouse argent. Mappage de transformation de la table delta bronze à la table delta argent explique ce processus de transformation en détail.

Une fois l’exécution du notebook terminée, vous pouvez voir neuf enregistrements dans la table delta ImagingStudy de la lakehouse argent.

Une capture d’écran affichant les enregistrements dans la lakehouse argent.

Convertir et ingérer des données dans la lakehouse or

Important

Suivez cette étape d’exécution facultative uniquement si vous avez déployé et configuré la fonctionnalité de transformation OMOP dans les solutions de données de santé. Sinon, vous pouvez ignorer cette étape.

Pour la dernière étape, suivez ces instructions pour convertir et ingérer des données dans la table delta Image_Occurrence de la lakehouse or :

  1. Dans votre environnement de solutions de données de santé (version préliminaire), accédez au notebook healthcare#_msft_omop_silver_gold_transformation et ouvrez-le.

    Ce notebook utilise les API OMOP de solutions de données de santé pour transformer les ressources de la lakehouse argent en tables delta Common Data Model OMOP dans la lakehouse or. Par défaut, il n’est pas nécessaire d’apporter des modifications à la configuration du notebook.

  2. Sélectionnez Exécuter tout pour exécuter le notebook.

    Le notebook met en œuvre l’approche de suivi OMOP pour suivre et traiter les enregistrements nouvellement insérés ou mis à jour dans la table delta ImagingStudy de la lakehouse argent. Il convertit les données des tables delta FHIR de la lakehouse argent (y compris la table ImagingStudy) en tables delta OMOP respectives dans la lakehouse or (y compris la table Image_Occurrence). Pour plus d’informations sur cette transformation, accédez à Mappage de transformation de la table delta argent à la table delta or.

    Reportez-vous à Mappage FHIR à OMOP pour obtenir les détails de mappage pour toutes les tables OMOP prises en charge.

Une fois l’exécution du notebook terminée sur la base de l’exemple du jeu de données d’imagerie, vous pouvez interroger et trouver 24 enregistrements dans la table delta Image_Occurrence de la lakehouse or. Chaque enregistrement représente un objet de série dans la hiérarchie DICOM.

Une capture d’écran montrant les fichiers convertis et ingérés dans la lakehouse or.

Option 2 : Intégration de bout en bout avec le service DICOM

Important

Suivez ce pipeline d’exécution uniquement si vous utilisez le service DICOM des services de données de santé Azure et avez déployé l’API DICOM. Sinon, vous pouvez ignorer cette option.

  1. Examinez et complétez la procédure de déploiement dans Déployer l’API DICOM dans les services de données de santé Azure.

  2. Après avoir déployé le service DICOM Azure, ingérez les fichiers DCM via l’API Magasin (STOW-RS).

  3. En fonction de votre langue préférée, chargez le fichier exemples de données à l’aide de l’une des options suivantes :

    Si vous utilisez Python, vous pouvez :

    1. Créer un fichier .PY.
    2. Suivre les instructions et l’extrait de code dans Utiliser les API standard DICOMweb avec Python.
    3. Charger un fichier DCM depuis un emplacement d’ordinateur local vers le serveur DICOM.
    4. Utiliser l’API Récupérer (WADO-RS) pour vérifier une opération de chargement de fichier réussie.

    Vous pouvez également vérifier un chargement de fichier réussi en procédant comme suit :

    1. Sur le Portail Azure, sélectionnez le compte de stockage Azure lié au service DICOM.
    2. Accédez à Conteneurs et suivez le chemin [ContainerName]/AHDS/[AzureHealthDataServicesWorkspaceName]/dicom/[DICOMServiceName].
    3. Vérifiez si vous pouvez voir le fichier DCM chargé ici.

    Une capture d’écran du portail Azure affichant les données chargées.

  4. Après avoir chargé avec succès les données dans le service DICOM et vérifié le fichier dans votre emplacement Data Lake Storage Gen2, passez à l’étape suivante.

  5. Créez un raccourci pour le fichier DICOM à partir de son emplacement dans l’emplacement Azure Data Lake Storage Gen2. Si vous n’utilisez pas de service DICOM Services de données de santé Azure, assurez-vous d’utiliser le raccourci créé dans Configurer Azure Data Lake Storage l’ingestion. Par souci de cohérence, nous vous recommandons d’utiliser la structure de dossiers suivante pour créer le raccourci : Files\External\Imaging\DICOM\[Namespace]\[BYOSShortcutName].

Note

Pour plus de détails sur les limitations d’intégration avec le service DICOM des services de données de santé Azure, consultez Intégration avec le service DICOM.