OHDSI (Observational Health Data Sciences and Informatics) a créé et gère la norme OMOP CDM (Observational Medical Outcomes Partnership Common Data Model) ainsi que les outils logiciels OHDSI associés pour visualiser et analyser les données médicales cliniques. Ces outils facilitent la conception et l’exécution d’analyses sur des données d’observation normalisées au niveau des patients.
OHDSI sur Azure permet aux organisations qui souhaitent utiliser le CDM OMOP et les outils analytiques associés de déployer et d’exploiter facilement la solution sur la plateforme Azure.
« Terraform » est soit une marque déposée, soit une marque commerciale d’HashiCorp aux États-Unis et/ou dans d’autres pays. L’utilisation de cette marque n’implique aucune approbation de la part de HashiCorp.
Architecture
Téléchargez un fichier Visio de cette architecture.
Le diagramme précédent illustre l’architecture générale de la solution. La solution est composée de deux groupes de ressources majeurs :
- Groupe de ressources de démarrage. Contient un ensemble fondamental de ressources Azure qui prennent en charge le déploiement du groupe de ressources OMOP.
- Groupe de ressources OMOP. Contient les ressources Azure spécifiques à OHDSI.
Azure Pipelines orchestre toutes les opérations d’automatisation du déploiement.
Cet article est principalement destiné aux équipes d’ingénierie DevOps. Si vous envisagez de déployer ce scénario, vous devez savoir comment utiliser le portail Azure et Azure DevOps.
Workflow
- Déployez le groupe de ressources de démarrage pour prendre en charge les ressources et les autorisations nécessaires au déploiement des ressources OHDSI.
- Déployez le groupe de ressources OMOP pour les ressources Azure spécifiques à OHDSI. Cette étape doit terminer la configuration liée à l’infrastructure.
- Provisionnez le CDM OMOP et les vocabulaires pour déployer le modèle de données et remplir les vocabulaires contrôlés par OMOP dans le CDM dans Azure SQL.
- Déployez les applications OHDSI :
- Configurez les couches IU et WebAPI d’Atlas en utilisant l’image BroadSea WebTools. Atlas est une interface utilisateur web qui intègre les fonctionnalités de diverses applications OHDSI. Elle est prise en charge par la couche WebAPI.
- Configurez Achilles et Synthea en utilisant l’image BroadSea Methods. Achilles est un script basé sur R qui exécute des évaluations de qualité et de caractérisation des données sur le CDM OMOP. Le script Synthea ETL est un outil facultatif qui permet aux utilisateurs de charger des données de patients synthétiques dans le CDM OMOP.
Composants
- Microsoft Entra ID est un service cloud mutualisé de gestion d'annuaire et d'identité. Microsoft Entra ID est utilisé pour gérer les autorisations pour le déploiement de l'environnement.
- La solution Azure Pipelines génère et teste automatiquement des projets de code. Ce service Azure DevOps combine l’intégration continue (CI) et la livraison continue (CD). Azure Pipelines utilise ces pratiques pour tester et générer constamment et systématiquement du code qu’il envoie à n’importe quelle cible. Les pipelines définissent et exécutent cette approche de déploiement pour OHDSI sur Azure.
- Azure Virtual Machine Scale Sets vous permet de créer et de gérer un groupe de machines virtuelles hétérogènes à charge équilibrée. Ces machines virtuelles coordonnent le déploiement de l’environnement.
- Le Stockage Blob Azure est un service de stockage optimisé pour stocker de grandes quantités de données non structurées. Le Stockage Blob est utilisé pour stocker le fichier d’état Terraform et les fichiers de vocabulaire OMOP bruts (avant ingestion dans le CDM).
- Azure Key Vault est un service Azure qui permet de stocker des secrets, des clés et des certificats et d’y accéder avec une sécurité renforcée. Key Vault offre une sécurité basée sur HSM et un accès audité via des contrôles d'accès basés sur les rôles intégrés à Microsoft Entra ID. Dans cette architecture, Key Vault stocke tous les secrets, notamment les clés API, les mots de passe, les clés de chiffrement et les certificats.
- Azure SQL Database est un moteur de base de données PaaS complètement managé. SQL Database gère les fonctions de gestion de base de données telles que la mise à niveau, la mise à jour corrective, les sauvegardes et le monitoring. Ce service héberge le CDM OMOP et toutes les données relationnelles associées.
- Azure Web Application Firewall contribue à protéger les applications contre les attaques courantes issues du web, telles que celles ciblant les vulnérabilités recensées par OWASP, les injections de code SQL et le scripting inter-site. Cette technologie est native cloud. Elle ne nécessite pas de licence et est facturée à l’utilisation.
- Azure Container Registry vous permet de créer, de stocker et de gérer des images conteneur et des artefacts dans un conteneur privé pour tous les types de déploiement de conteneur. Dans cette solution, il stocke les images d’application OHDSI (BroadSea WebTools et BroadSea Methods) pour le déploiement dans Azure App Service.
- Azure App Service est un service HTTP pour l’hébergement d’applications web, d’API REST et de backends mobiles. Ce service prend en charge les applications Atlas et WebAPI OHDSI.
Autres solutions
Si vous avez besoin d’un niveau de scalabilité ou de contrôle supérieur, envisagez ces alternatives :
- Azure Kubernetes Service (AKS) ou Azure Container Apps à la place d’App Service.
- Azure Synapse à la place de SQL Database.
Détails du scénario
Dans le secteur de la santé, la capacité à fédérer, harmoniser, visualiser, segmenter et analyser les données cliniques des patients est rapidement devenue un cas d’usage populaire. De nombreuses organisations, notamment des établissements universitaires, des organismes publics et des entreprises du secteur privé, cherchent à exploiter les données médicales de leurs patients pour accélérer la recherche et le développement. Malheureusement, la plupart des équipes informatiques ont du mal à collaborer efficacement avec les chercheurs afin de leur fournir un environnement de travail où ils se sentent productifs et autonomes.
OHDSI est une initiative qui compte des milliers de collaborateurs dans plus de 70 pays/régions. Elle propose l’une des rares solutions disponibles au format open source pour les chercheurs. OHDSI a créé et gère la norme CDM OMOP ainsi que les outils logiciels OHDSI associés pour visualiser et analyser les données médicales cliniques.
Cas d’usage potentiels
Plusieurs types d’organismes de santé peuvent bénéficier de cette solution, notamment :
- les établissements universitaires qui souhaitent permettre aux chercheurs scientifiques de s’attaquer à des études de cohortes observationnelles en utilisant des données cliniques ;
- les organismes publics qui souhaitent fédérer de grandes quantités de sources de données disparates pour accélérer la découverte scientifique ;
- les entreprises du secteur privé qui souhaitent simplifier l’identification des patients potentiels pour des essais cliniques.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework, un ensemble de principes directeurs que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d'informations, consultez Microsoft Azure Well-Architected Framework.
Fiabilité
La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.
SQL Database inclut des bases de données avec redondance interzone, des groupes de basculement, la géoréplication et des sauvegardes automatiques. Ces fonctionnalités permettent à votre application de continuer à s’exécuter en cas d’événements de maintenance ou en cas de panne. Pour en savoir plus, consultez la section relative aux fonctionnalités de disponibilité d’Azure SQL Database.
Vous pouvez envisager d’utiliser Application Insights pour monitorer l’intégrité de votre application. Avec Application Insights, vous pouvez générer des alertes et résoudre des problèmes de performances qui affectent l’expérience des clients. Pour plus d’informations, consultez Présentation d’Application Insights.
Pour plus d’informations sur la fiabilité, consultez Conception d’applications Azure fiables.
Sécurité
La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.
Ce scénario utilise des identités gérées pour les ressources Azure, qui fournissent une identité qu'une application peut utiliser lorsqu'elle se connecte à des ressources prenant en charge l'authentification Microsoft Entra. Les identités managées éliminent la nécessité de gérer les secrets et les informations d’identification pour chaque ressource Azure.
SQL Database utilise une approche en couches pour protéger les données des clients. Ce service couvre la sécurité du réseau, la gestion des accès, la protection contre les menaces et la protection des informations. Pour plus d’informations sur la sécurité de SQL Database, consultez la section relative à la sécurité et à la conformité d’Azure SQL Database.
Si la mise en place d’un réseau haute sécurité est une exigence critique, envisagez d’utiliser Azure Private Link pour connecter App Service à Azure SQL. Cela supprime l’accès à la base de données SQL à partir de l’Internet public, qui est un vecteur d’attaque couramment utilisé. Vous pouvez également utiliser des points de terminaison privés pour Stockage Azure afin d’accéder aux données de manière plus sécurisée par le biais d’une liaison privée Azure. Ces implémentations ne sont actuellement pas incluses dans la solution, mais vous pouvez les ajouter si nécessaire.
Pour obtenir des conseils d’ordre général sur la conception de solutions sécurisées, consultez la documentation sur la sécurité Azure.
Optimisation des coûts
L’optimisation des coûts consiste à réduire les dépenses inutiles et à améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
Pour mieux comprendre le coût d’exécution de ce scénario sur Azure, utilisez la calculatrice de prix Azure. Cette estimation utilise la configuration par défaut de toutes les ressources Azure déployées via l’infrastructure en tant que code. Ces estimations de coûts peuvent changer en fonction de la taille de vos données et d'autres ressources de votre organisation qui peuvent être partagées, comme Microsoft Entra ID ou Azure DevOps.
Efficacité des performances
L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.
Ce scénario utilise App Service, que vous pouvez éventuellement utiliser pour mettre automatiquement à l’échelle le nombre d’instances prenant en charge l’interface utilisateur d’Atlas. Cette fonctionnalité vous permet de répondre à la demande des utilisateurs finaux. Pour plus d’informations, consultez les bonnes pratiques en matière de mise à l’échelle automatique.
Pour plus d’informations, consultez la check-list d’efficacité des performances.
Déployer ce scénario
Consultez ces ressources pour obtenir plus d’informations sur le déploiement d’une suite d’outils OHDSI ainsi qu’une documentation détaillée supplémentaire :
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteurs principaux :
- Andy Gee | Ingénieur logiciel confirmé
- Kaipo Lucas | Responsable de programme confirmé
- Yvonne Radsmikham | Ingénieur logiciel senior
- Cory Stevenson | Spécialiste confirmé
Autres contributeurs :
- Mick Alberts | Rédacteur technique
- Heather Camm | Responsable de programme confirmé
- Gayatri Jaiswal | Responsable de programme
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Documentation Microsoft Entra
- Qu’est-ce qu’Azure Pipelines ?
- Présentation d’Azure DevOps
- Qu’est-ce qu’Azure SQL Database ?
- Page d’accueil d’OHDSI
- Environnement de démonstration OHDSI Atlas
- OHDSI sur GitHub
- Chaîne OHDSI sur YouTube