Skip to content
Interfaceware Iguana running on Azure VM
Branch: master
Clone or download
Pull request Compare This branch is 32 commits ahead of hansenms:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Automated deployment of FHIR Iguana on Azure VM


This repository contains an Azure ARM Template that is able to deploy a virtual machine containing Iguana and FHIR related channels. The Iguana instance within the template will be configured to make a connection to a specific instance of the Azure API for FHIR.

Architecture Diagram and Description


  • Azure Template on Github: Azure template assists the user with a click of the button or via powershell to auto provision the Azure VM and Iguana installation
  • Azure: Cloud infrastructure that hosts the HL7 to FHIR POC (proof of concept)
  • Azure AD: Azure Active Directory that provides secure access to Azure API services
  • Azure API for FHIR: FHIR server with data storage that provides API access
  • FHIR Dashboard: Web dashboard that displays patient demographics information from FHIR server
  • Azure VM for Iguana: Azure virtual machine that hosts the Iguana application for converting HL7 v2 (ADT) messages to FHIR patient resources. The VM OS will be Windows Server 2016.


  1. Iguana sends client id and client secret to Azure AD to be authenticated
  2. Azure AD sends back token to Iguana
  3. Iguana sends FHIR patient resource to Azure API for FHIR
  4. Clinician accesses FHIR dashboard to review Patient demographic


This template requires a FHIR Server to complete the overall workflow. To set up a sandbox environment with Azure API for FHIR, web client, etc., deploy the Microsoft/fhir-server-samples scenario and collect the following information from the script and Azure keyvault secrets:

  • Aad Service Client Id: The service id of the FHIR Server resource.
  • Aad Service Client Secret: The service secret of the FHIR Server resource.
  • Aad Authority: The authenticating link used for applications to connect to your domain. ex or
  • Aad Audience: Unless this differs, this will typically be the FHIR server URL in the format: https://<AZURE API FOR FHIR NAME>
  • FHIR Server URL: The FHIR Server URL. ex [https://<AZURE API FOR FHIR NAME>]

This information will be needed to be passed into the deployment template.


Option 1: Via Powershell script

To deploy the template:

  1. Create a parameter file azuredeploy.parameters.json:
    "$schema": "",
    "contentVersion": "",
    "parameters": {
        "vmName": {
            "value": "MY-VM-NAME"
        "adminUsername": {
            "value": "msiguanauser"
        "adminPassword": {
            "value": "<MY SUPER SECRET PASSWORD>"
        "aadAuthority": {
            "value": "<TENANT-ID>"
        "aadClientId": {
            "value": "<CLIENT-ID>"
        "aadClientSecret": {
            "value": "<CLIENT-SECRET>"
        "aadAudience": {
            "value": "https://<AZURE API FOR FHIR NAME>"
        "fhirServerUrl": {
            "value": "https://<AZURE API FOR FHIR NAME>"
  1. Create Resource Group and Deploy the VM:
# Create resource group
$rg = New-AzureRmResourceGroup -Name "resource-group-name" -Location "westus2"

# Deploy VM
New-AzureRmResourceGroupDeployment -TemplateUri -TemplateParameterFile .\azuredeploy.parameters.json -ResourceGroupName $rg.ResourceGroupName

Option 2: Use the Portal:

Deployment considerations

An important consideration to note is that depending on the type of Azure resource group chosen, deploying the ARM template may take 5-10 minutes to fully complete. Accessing the virtual machine before completion may cancel the Iguana provisioning process.

It is important to make sure that the deployment is complete before accessing the virtual machine.

After Deployment

  1. After deployment, use remote desktop to connect to the deployed VM and navigate to: http://localhost:6543
  2. Register Iguana using an existing account, or by using a trial license
  3. Once at the dashboard, turn on either or both CHN 1: Random HL7 ADT Message and CHN1: HL7 From File channels.
  4. Navigate to the FHIR dashboard https://<AZURE API FOR FHIR NAME> to see the uploaded resources.

More Information

You can’t perform that action at this time.