Migration strategies for moving from Azure API for FHIR

Important

Azure API for FHIR will be retired on September 30, 2026. Follow the migration strategies to transition to Azure Health Data Services FHIR service by that date. Due to the retirement of Azure API for FHIR, new deployments won't be allowed beginning April 1, 2025. Azure Health Data Services FHIR service is the evolved version of Azure API for FHIR that enables customers to manage FHIR, DICOM, and MedTech services with integrations into other Azure services.

Azure Health Data Services FHIR service is the next-generation platform for health data integration. It offers managed, enterprise-grade FHIR, DICOM, and MedTech services for diverse health data exchange.

When you migrate your FHIR data from Azure API for FHIR to Azure Health Data Services FHIR service, your organization can benefit from improved performance, scalability, security, and compliance. Organizations can also access new features and capabilities that aren't available in Azure API for FHIR.

Azure API for FHIR will be retired on September 30, 2026, so you need to migrate your FHIR data to Azure Health Data Services FHIR service as soon as feasible. To make the process easier, we created some tools and tips to help you assess your readiness, prepare your data, migrate your applications, and cut over to the new service.

To migrate your data, follow these steps:

  • Step 1: Assess readiness
  • Step 2: Prepare to migrate
  • Step 3: Migrate data and application workloads
  • Step 4: Cut over from Azure API for FHIR to Azure Health Data Services

Step 1: Assess readiness

Compare the differences between Azure API for FHIR and Azure Health Data Services. Also review your architecture and assess if any changes need to be made.

Capabilities Azure API for FHIR Azure Health Data Services
Settings Supported:
• Local RBAC
• SMART on FHIR Proxy
Planned deprecation:
• Local RBAC (9/6/23)
• SMART on FHIR Proxy (9/21/26)
Data storage Volume More than 4 TB Current support is 4 TB (Open an Azure support request if you need more than 4 TB)
Data ingress Tools available in OSS $import operation
Autoscaling Supported on request and incurs charge Enabled by default at no extra charge
Search parameters Bundle type supported: Batch
• Include and revinclude, iterate modifier not supported
• Sorting supported by first name, last name, birthdate and clinical date
Bundle type supported: Batch and transaction
• Selectable search parameters
• Include, revinclude, and iterate modifier is supported
• Sorting supported by string and dateTime fields
Events Not Supported Supported
Infrastructure Supported:
• Customer managed keys
• AZ support and PITR
• Cross region DR
Supported:
• Data recovery
Customer managed keys
Upcoming:
• Availability zone support

Things to consider that may affect your architecture

  • Sync agent is being deprecated. If you're using sync agent to connect to Dataverse, see Overview of data integration toolkit

  • FHIR Proxy is being deprecated. If you're using FHIR Proxy for events, refer to the built-in eventing feature. Alternatives can be customized and built using the Azure Health Data Services toolkit.

  • SMART on FHIR proxy is being deprecated. You need to use the new SMART on FHIR capability. More information: SMART on FHIR

  • Azure Health Data Services FHIR service does not support local RBAC and custom authority. The token issuer authority needs to be the authentication endpoint for the tenant that the FHIR Service is running in.

  • The IoT connector is only supported using an Azure API for FHIR service. The IoT connector is succeeded by the MedTech service. You need to deploy a MedTech service and corresponding FHIR service within an existing or new Azure Health Data Services workspace and point your devices to the new Azure Events Hubs device event hub. Use the existing IoT connector device and destination mapping files with the MedTech service deployment.

If you want to migrate existing IoT connector device FHIR data from your Azure API for FHIR service to the Azure Health Data Services FHIR service, use the bulk export and import functionality in the migration tool. Another migration path would be to deploy a new MedTech service and replay the IoT device messages through the MedTech service.

Step 2: Prepare to migrate

First, create a migration plan. We recommend the migration patterns described in the table. Depending on your organization’s tolerance for downtime, you may decide to use certain patterns and tools to help facilitate your migration.

Migration pattern Details How?
Lift and shift The simplest pattern. Ideal if your data pipeline can afford longer downtime. Choose the option that works best for your organization:
• Configure a workflow to $export your data on Azure API for FHIR, and then $import into Azure Health Data Services FHIR service.
• The GitHub repo provides tips on running these commands, and a script to help automate creating the $import payload.
• Or create your own tool to migrate the data using $export and $import.
Incremental copy Continuous version of lift and shift, with less downtime. Ideal for large amounts of data that take longer to copy, or if you want to continue running Azure API for FHIR during the migration. Choose the option that works best for your organization.
• We created an OSS migration tool to help with this migration pattern.
• Or create your own tool to migrate the data incrementally.

OSS migration tool considerations

If you decide to use the OSS migration tool, review and understand the migration tool’s capabilities and limitations.

Prepare Azure API for FHIR server

Identify data to migrate.

  • Take this opportunity to clean up data or FHIR servers that you no longer use.

  • Decide if you want to migrate historical versions or not.

Deploy a new Azure Health Data Services FHIR Service server.

  • First, deploy an Azure Health Data Services workspace.

  • Then deploy an Azure Health Data Services FHIR Service server. More information: Deploy a FHIR service within Azure Health Data Services

  • Configure your new Azure Health Data Services FHIR Service server. If you need to use the same configurations as you have in Azure API for FHIR for your new server, see the recommended list of what to check for in the migration tool documentation. Configure the settings before you migrate.

Step 3: Migrate data

Choose the migration pattern that works best for your organization. If you're using OSS migration tools, follow the instructions on GitHub.

Step 4: Migrate applications and reconfigure settings

Migrate applications that were pointing to the old FHIR server.

  • Change the endpoints on your applications so that they point to the new FHIR server’s URL.

  • Set up permissions again for these apps.

  • Reconfigure any remaining settings in the new Azure Health Data Services FHIR Service server after migration.

  • If you’d like to double check to make sure that the Azure Health Data Services FHIR Service and Azure API for FHIR servers have the same configurations, you can check both metadata endpoints to compare and contrast the two servers.

  • Set up any jobs that were previously running in your old Azure API for FHIR server (for example, $export jobs)

Step 5: Cut over to Azure Health Data Services FHIR services

After you’re confident that your Azure Health Data Services FHIR Service server is stable, you can begin using Azure Health Data Services FHIR service to satisfy your business scenarios. Turn off any remaining pipelines that are running on Azure API for FHIR, delete data from the intermediate storage account that was used in the migration tool if necessary, delete data from your Azure API for FHIR server, and decommission your Azure API for FHIR account.