OHDSI on Azure GitHub repository is designed to ease deployment of tools provided by the Observational Health Data Sciences and Informatics (OHDSI, pronounced "Odyssey") community on to Azure. We are guided by our Hypothesis and core objectives.
Hypothesis - “OHDSI on Azure will empower IT department and operations teams to support researchers, thus increasing researchers' motivation to act on new ideas”
- Decreased Deployment challenges
- Increased access to funding
- Simplified adoption strategy
OHDSI on Azure is a set of scripts, templates, and DevOps pipelines designed to automate the deployment of the OHDSI in the Microsoft Azure cloud using Terraform & PaaS services. It is designed to facilitate standardized scalable deployments within customer managed Azure subscriptions. Provide best practices for running OHDSI on Azure. Ease the burden of management and cost monitoring of research projects.
OHDSI on Azure has taken a container-based approach to operating OHDSI tools. Therefore, OHDSI on Azure does its best to not host code developed by the OHDSI community. Our deployment templates pull containers from Docker Hub.
We encourage customers to perform their due diligence as part of the pipeline deployments. CI/CD pipelines can be modified to fit your organization’s requirements. Our goal is to get a Sandbox environment setup and provide starter tools for deploying to other environments (DEV/Test, Staging, and Production).
We invite you and your organization to participate in the continued feature expansion of OHDSI on Azure.
This repository assumes the end user is familiar with the OHDSI/ OMOP community, Azure, and Terraform.
Some of the OHDSI projects included:
- Common Data Model (CDM), including Vocabulary
- Atlas - OSS tool used to conduct analyses on standardized observational data converted to the OMOP Common Data Model V5
- WebApi - contains all OHDSI RESTful services that can be called from OHDSI applications
- Achilles - provides descriptive statistics on an OMOP CDM database
- ETL-Synthea - Conversion from Synthea CSV to OMOP CDM
You can use Azure DevOps pipelines to manage your environment, see the guide for creating your environment for an overview.
Your administrator can manage Azure Resources in your bootstrap resource group and your Azure DevOps setup using Terraform. You will also need to work with your Azure administrator to setup your Azure DevOps using the administrative steps.
The Azure resources in the OMOP resource group are managed through Terraform.
You can host your CDM in Azure SQL. You can load your vocabularies into Azure Storage so that the Azure DevOps Vocabulary Release Pipeline can populate your Azure SQL CDM.
You can setup Atlas and Webapi using the Broadsea Build Pipeline to build and push the Broadsea webtools (for Atlas / WebApi) image into Azure Container Registry. You can then run the Broadsea Release Pipeline to configure Atlas and WebApi in your Azure App Service.
You can also setup Achilles and Synthea using the Broadsea Build Pipeline to build and push the Broadsea Methods (for Achilles and Synthea) image into Azure Container Registry. You can then run the Broadsea Release Pipeline to perform the following steps:
- Run an ETL job and use Synthea to generate synthetic patient data as an optional step
- Run Achilles to characterize the CDM data in Azure SQL
OHDSI.on.Azure.-.E2E.Overview.with.narration.mp4
This setup supports a modified version of the CDM v5.3.1 schema based on the CDM v5.3.1 for SQL Server.
You can review more notes on the modifications in the readme.
To get started, first clone the repository.
git clone https://github.com/microsoft/OHDSIonAzure
You can work through the notes on creating your environment quickstart which will walk through how to set up OHDSI on Azure.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.