Skip to content
Samples for Microsoft FHIR Server for Azure
Branch: master
Clone or download
hansenms Reverting to upstream for growth chart and pulling only production de… (

* Reverting to upstream for growth chart and pulling only production dependencies

* Better SMART app deployment
Latest commit 640d108 May 3, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
analytics Adf option2 (#41) Apr 30, 2019
deploy Reverting to upstream for growth chart and pulling only production de… ( May 3, 2019
images Adf template (#37) Apr 27, 2019
src JS dashboard (#36) Apr 18, 2019
test/FhirDashboard.Tests.E2E Importer function (#21) Mar 1, 2019
.gitignore Initial deployment templates Dec 28, 2018
CustomAnalysisRules.Test.ruleset Style cop corrections (#10) Jan 3, 2019
CustomAnalysisRules.ruleset Style cop corrections (#10) Jan 3, 2019
LICENSE Initial commit Dec 21, 2018
azure-pipelines.yml Initial deployment templates Dec 28, 2018
fhir-server-samples.sln Importer function (#21) Mar 1, 2019
stylecop.json Style cop corrections (#10) Jan 3, 2019

FHIR Server Samples

This respository contains example applications and scenarios that show use of the FHIR Server for Azure and the Azure API for FHIR.

The scenario is meant to illustrate how to connect a web application to the FHIR API. The scenario also illustrates features such as the SMART on FHIR Active Directory Proxy. It can be deployed using the Azure API for FHIR PaaS server:

Or the open source FHIR Server for Azure:

In both cases a storage account will be deploy and in this storage account there is a BLOB container called fhirimport, patient bundles generated with Synthea can dumped in this storage container and they will be ingested into the FHIR server. The bulk ingestion is performed by an Azure Function.

The environments also optionally include an Azure Data Factory instance, which has export pipelines configured for selected resources. The ADF export pipeline is experimental and not deployed by default. To deploy the ADF pipeline, add the -DeployAdf $true parameter to the script below.

You can decide which resources to export using the adfExportResourceTypes template parameter. The pipelines have to be activated manually and will produce a new line delimited json (ndjson) for each resource type. These ndjson files are easily consumed with something like Databricks (Apache-Spark). Please see the analytics folder for some details and example queries. Note that the Databricks environment is not deployed automatically with the sandbox and must be set up separately.


Before deploying the samples scenario make sure that you have AzureRm and AzureAd powershell modules installed:

Install-Module AzureRm
Install-Module AzureAd


To deploy the sample scenario, first clone this git repo and find the deployment scripts folder:

git clone
cd fhir-server-samples/deploy/scripts

Log into your Azure subscription:

Login-AzureRmAccount -TenantId <AAD Tenant>

Connect to Azure AD with:

Connect-AzureAd -TenantDomain <AAD TenantDomain>

Then deploy the scenario with the Open Source FHIR Server for Azure:

.\Create-FhirServerSamplesEnvironment.ps1 -EnvironmentName <ENVIRONMENTNAME> -UsePaaS $false

or the managed Azure API for FHIR:

.\Create-FhirServerSamplesEnvironment.ps1 -EnvironmentName <ENVIRONMENTNAME> -UsePaaS $true

and to include the ADF pipeline:

.\Create-FhirServerSamplesEnvironment.ps1 -EnvironmentName <ENVIRONMENTNAME> -UsePaaS $true -DeployAdf $true

To delete the senario:

.\Delete-FhirServerSamplesEnvironment.ps1 -EnvironmentName <ENVIRONMENTNAME>


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

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., label, 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 with any additional questions or comments.

You can’t perform that action at this time.