Bibliothèque Ouverte d'Algorithmes en Santé (BOAS)

Filtrer
Valider
  • Trier et filtrer
    Tri
    Auteurs
    Organisme de recherche
    Objectifs de l’algorithme
    Outils de ciblage dans la base principale du SNDS Outils de manipulation / transformation de la base principale du SNDS
    Domaines
    Maladies infectieuses
    Langages de programmation
    Python R SQL
    Données d’application
    Base principale Données tabulaires
    Validation
    En cours de validation
    Maintenance
    Ad-hoc (en fonction des remontées de problèmes, suggestions)
    Auteurs
    Autre
    Objectifs de l’algorithme
    Outils de ciblage dans la base principale du SNDS
    Domaines
    Autre
    Langages de programmation
    SAS
    Données d’application
    Base principale
    Validation
    En cours de validation
    Maintenance
    Ad-hoc (en fonction des remontées de problèmes, suggestions)
    Auteurs
    Plateforme de données
    Objectifs de l’algorithme
    Outils de manipulation / transformation de la base principale du SNDS
    Domaines
    Autre
    Langages de programmation
    SQL
    Données d’application
    Base principale
    Validation
    Validé
    Maintenance
    Ad-hoc (en fonction des remontées de problèmes, suggestions)
    Auteurs
    Administrations et ministère
    Objectifs de l’algorithme
    Outils de cartographie des pathologies Outils de ciblage dans la base principale du SNDS
    Domaines
    Diabète
    Langages de programmation
    Python SAS
    Données d’application
    Base principale
    Validation
    Non validé
    Maintenance
    Ad-hoc (en fonction des remontées de problèmes, suggestions)
    Auteurs
    Plateforme de données
    Objectifs de l’algorithme
    Algorithmes de requête à la demande
    Domaines
    Maladies respiratoires
    Langages de programmation
    SAS SQL
    Données d’application
    Base principale
    Validation
    Validé
    Maintenance
    Pas de maintenance
    Auteurs
    Autre
    Objectifs de l’algorithme
    Algorithmes de requête à la demande
    Domaines
    Autre
    Langages de programmation
    SAS SQL
    Données d’application
    Base principale
    Validation
    Non validé
    Maintenance
    Pas de maintenance
    Auteurs
    Magic Loop > Auteur(s)
    Objectifs de l’algorithme
    Outils de manipulation / transformation de la base principale du SNDS
    Langages de programmation
    SAS
    Données d’application
    Base principale
    Validation
    Validé
    Maintenance
    Ad-hoc (en fonction des remontées de problèmes, suggestions)

    Prise en charge des patients atteints de la maladie de Crohn et de la rectocolite hémorragique.

    Prise en charge des patients atteints de la maladie de Crohn et de la rectocolite hémorragique. camille_guillard Non
    Ana Gabriela Prada

    Health Data Hub

    L’algorithme de la requête à la demande, réalisé pour le compte de l’Association François Aupetit (AFA), a pour objectif de cibler et de caractériser la population atteint des maladies inflammatoires chroniques de l’intestin (MICI). Pour ce faire, le programme interroge la base principale du SNDS pour obtenir un état des lieux des MICI et de leur prise en charge en France en 2021. Le programme génère un tableau de bord par type de MICI - maladie de Crohn (K50) et rectocolite hémorragique (K51) - comprenant les éléments suivants :

    • Dénombrement par classe d’âge

    • Dénombrement par sexe

    • Répartition géographique (département et région)

    • Nombre d’hospitalisations en ambulatoire versus hospitalisations complètes

    • Volume des principales chirurgies digestives

    • Part des personnes ayant au moins un acte en lien avec une pose de stomie digestive

    • Nombre de jours moyen d’arrêt maladie dans l’année (même s’il n’est pas possible de relier la cause)

    • Recours aux principales classes de médicaments 

    • Description des Affections Longue Durée (ALD) des patients pour identifier les comorbidités associées

    L'algorithme de ciblage des patients atteints de MICI est basé sur celui de la cartographie des pathologies de la CNAM ; les critères sont les suivants :


    Personnes en ALD au cours de l’année n, avec codes CIM-10 de maladie inflammatoire chronique intestinale (maladie de Crohn ou rectocolite hémorragique),

    et/ou personnes hospitalisées en MCO pour ces mêmes motifs durant au moins une des 5 dernières années (Diagnostic principal ou relié),

    et/ou personnes hospitalisées en MCO l’année n pour tout autre motif avec une maladie inflammatoire chronique intestinale comme complication ou morbidité associée (Diagnostic associé, principal ou relié d’un des résumés d’unités médicales),

    et/ou personnes hospitalisées en SSR l’année n avec une maladie inflammatoire chronique intestinale comme manifestation morbide principale (MMP), Affection Étiologique (AE) ou diagnostic associé (DA).

    Codes CIM-10 utilisés (PMSI et ALD) :

    - K50 (Maladie de Crohn)

    - K51 (Recto-colite hémorragique) 

    Il existe d'autres algorithmes pour détecter les MICI, cependant, nous avons choisi d'adopter les critères utilisés par la cartographie des pathologies de la CNAM afin de permettre une comparaison des indicateurs. Toutefois, il est envisageable d'adapter le code à d'autres critères selon les besoins spécifiques. 

    Tables et variables du SNDS nécessaires

     

    Le programme a été développé sur le portail CNAM en SAS sous accès permanent. 

    La mise en œuvre du programme nécessite l’utilisation des tables et variables suivantes :

     

    tableautableau

    Non validé (absence de données externes permettant la validation)

    Juin 2024

    Le programme est à exécuter sous SAS sur le portail CNAM. Il a été développé avec une restitution des données SNDS sous accès permanent. Des adaptations peuvent être nécessaires si le programme doit être exécuté sur une extraction SNDS sur projet.

    Apache 2.0

    Bibliothèque d’outils de pseudonymisation d’attributs et de clichés radiographiques contenus dans les fichiers DICOM

    Bibliothèque d’outils de pseudonymisation d’attributs et de clichés radiographiques contenus dans les fichiers DICOM admin-hdh Oui
    Start-up
    William MADIÉ
    Start-up
    Francisco ORCHARD
    Outils de pseudonymisation / anonymisation

    La bibliothèque Python deidcm propose des outils de pseudonymisation de fichiers DICOM. Cette pseudonymisation consiste en deux étapes : la pseudonymisation des attributs basée sur un référentiel d’actions à effectuer pour chaque attribut et la suppression des textes présents sur les clichés radiographiques à l’aide d’un procédé de reconnaissance optique de caractères (OCR). Cet ensemble d’outils a été développé dans le contexte du projet deep.piste, étude visant à évaluer l’apport de l’IA dans le programme de Dépistage Organisé du Cancer du Sein (DOCS) français. deidcm a été conçu pour traiter les fichiers DICOM ayant la modalité MG (Mammographie). Cependant, la bibliothèque peut être utilisée pour des fichiers DICOM de modalités différentes.

    Cancers
    Radiologie et imagerie médicale

    Pour construire la bibliothèque deidcm, nous avons été confronté à de nombreux défis, le premier étant l’étendue, la complexité et l’hétérogénéité du standard DICOM. En effet, il existe de très nombreuses recommandations formulées par la NEMA (National Electrical Manufacturers Association), responsable du standard, concernant la pseudonymisation de fichiers DICOM. Nous avons choisi une approche dite best effort qui garantit le filtrage des données sensibles aussi bien dans les attributs que sur les clichés radiographiques même si elle ne respecte pas complètement les préconisations du standard.

    Python
    Données d’imagerie
    Données tabulaires
    Texte libre

    En amont de la mise en open source de la bibliothèque deidcm, nous avons construit nos outils en travaillant majoritairement sur les mammographies du CRCDC-Occitanie dans le cadre de l’étude Deep.piste. Nous avons aussi pu tester ces outils sur d’autres jeux de données pseudonymisés et publics comme The Chinese Mammography Database (CMMD): An online mammography database with biopsy confirmed types for machine diagnosis of breast Cui, Chunyan; Li Li; Cai, Hongmin; Fan, Zhihao; Zhang, Ling; Dan, Tingting; Li, Jiao; Wang, Jinghua. (2021).

    Validé

    Le performance de la pseudonymisation par OCR a été évaluée lors du projet deep.piste. Pour cela, nous avons utilisé des mammographies préalablement sélectionnées pour s’assurer qu’elles ne comportent aucun texte. Nous avons ensuite généré des chaînes de caractères aléatoires sur ces mammographies avec les paramètres suivants : 

    - Une mammographies peut contenir entre 1 et 10 chaînes - Une chaîne peut contenir entre 1 et 10 lettres
    - Différentes polices peuvent être utilisées comme FreeMono ou Arial 
    - Différentes tailles de texte possibles 
    - Différents niveaux de floutage possibles 
    - Nombre de répétition pour chaque test définis en amont 

    Le processus d’évaluation consiste en 4 métriques : 

    Vrai Positif : Nombre de fois où la liste des mots auto-générés est identique à la liste des mots détectés. 

    Faux Négatif : Nombre de fois où la liste des mots auto-générés n’est pas identique à la liste des mots détectés. 

    Faux Positif : Nombre de fois où l’image ne contient aucun mot auto-généré alors que la liste des mots détectés n’est pas vide. 

    Vrai Négatif : Nombre de fois où l’image ne contient aucun mot auto-généré alors que la liste des mots détectés est vide. 

    Précision : Précision =Vrai Positif / (Vrai Positif + Faux Positif) 

    Recall : Recall =Vrai Positif / (Vrai Positif + Faux Négatif) 

    F1 Score : F1 Score = (2 * Précision * Recall) / (Precision + Recall) 

    Pour vérifier si un mot identifié correctement, une comparaison stricte entraîne une performance dégradée dans nos conditions de tests. En effet, la détection OCR est un processus qui s’appuie sur le dictionnaire de la langue cible. 

    Dans notre cas, l’utilisation de chaînes de caractères aléatoires réduit les performances de notre test en interchangeant des lettres comme les “l” avec les “i” ou les “1”. Sans la possibilité de s’aider de mots français proches (voir ci-dessous), cela diminue la précision du résultat. Pour pallier ce problème, nous avons implémenté l’algorithme de Levenshtein pour comparer les chaînes de caractères générées et celles détectées. Cela permet d’avoir un test plus proche de ce que l’on souhaite véritablement : savoir si toutes les zones de texte ont bien été repérées.

    image

    Les résultats suivants ont été obtenus par notre processus d’évaluation sur un fichier DICOM. 368 mots ont été générés durant les itérations successives. Sur ces 368 mots, 359 ont été reconnus correctement :

    Mesures par test

    Image avec texteImage sans texte
    Vrai PositifFaux NégatifFaux PositifVrai Négatif
    69303

    Mesures globales

    PrecisionRecallF1_ScoreAccuracy
    1.01.01.00.96

    Il s’agit de la version 0.0.3 publiée en juin 2024

    Ad-hoc (en fonction des remontées de problèmes, suggestions)

    Maintenu par Epiconcept et l’équipe data HDH (w.madie@epiconcept.fr, f.orchard@epiconcept.fr)

    La bibliothèque deidcm est disponible dans l’index PyPI. Pour installer la dernière version, il suffit d’exécuter la commande pip install deidcm depuis un terminal.

    Pour plus de détails sur l’installation de la bibliothèque, Epiconcept maintient une documentation utilisateur disponible à cette adresse : https://epiconcept-paris.github.io/deidcm/pages/quickstart/

    Pour les personnes intéressées par le fonctionnement du projet, il existe différents modules : 

    1. Le module deidcm.dicom.deid_mammogram qui contient toutes les fonctions dédiées à la pseudonymisation des attributs DICOM et des clichés radiographiques. 
    2. deidcm.dicom.dicom2df qui contient la fonction dicom2df permettant de convertir un fichier DICOM en DataFrame pandas. 
    3. Le module deidcm.dicom.df2dicom qui contient la fonction df2dicom permettant de convertir un dataframe pandas en fichier PNG (cliché radiographique) et CSV (attributs de chaque fichier DICOM) 

    Pour plus de détails sur le fonctionnement de la bibliothèque, Epiconcept maintient une documentation utilisateur disponible à cette adresse : https://epiconcept-paris.github.io/deidcm/

    Nous acceptons les contributions externes. Le repository GitHub du projet est disponible à l’adresse suivante : https://github.com/Epiconcept-Paris/deidcm 

    1. Pour des corrections mineures comme des bugs ou des évolutions simples, le contributeur peut directement effectuer une Pull Request sur le repository GitHub du projet. 
    2. Pour des changements plus importants, il est conseillé au contributeur d’ouvrir d’abord une Issue afin de discuter et valider le changement avec nous.

    Francisco ORCHARD, f.orchard@epiconcept.fr, https://github.com/forchard 
    William MADIE, w.madie@epiconcept.fr, https://github.com/williammadie

    MIT License 
    Copyright 2020 Epiconcept 

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    Documentation : https://epiconcept-paris.github.io/deidcm/