Stream: implementers
Topic: Azure vs HAPI
Amit Cudykier (Jun 22 2021 at 03:50):
Looking for more perspective on the pros and cons of Azure FHIR Server vs HAPI FHIR. I found a few articles online but they are from 2 years ago. Would love to hear people's experience with the two implementations. Any advice\insight is welcome. I am sure other people had to make similar considerations for their projects. Thank you!
Vibin_chander (Jan 31 2022 at 09:00):
Im surprised that still ur question hasn't answered.
Daniel Venton (Jan 31 2022 at 13:53):
Azure FHIR API Pro: Microsoft does everything for you Con: Microsoft does everything for you.
Do you want to control your environment? Choice of Database, choice of where to run ... then you'll probably want HAPI. If you don't have any developers to write custom code and maintain the environment, then you'll probably want Azure.
PGR (Jan 31 2022 at 14:01):
Daniel Venton said:
Azure FHIR API Pro: Microsoft does everything for you Con: Microsoft does everything for you.
Do you want to control your environment? Choice of Database, choice of where to run ... then you'll probably want HAPI. If you don't have any developers to write custom code and maintain the environment, then you'll probably want Azure.
I would not make a decision based only on that criteria...that it be too easy. Instead, I would look at the maturity of the products, the features and resources they support, roadmap, support, pricing, maintenance, integration (for instance, currently Azure FHIR API can be integrated with Azure AD) and so on...., on the other hand the MSFT-Team provides also the FHIR server on github where developer can enhance the code and provide other / more features.
Josh Mandel (Jan 31 2022 at 16:16):
Choice of Database, choice of where to run
Indeed, https://github.com/microsoft/fhir-server can run anywhere (not just Azure -- e.g. see this docker-compose config for a self-contained local server) and supports a "pluggable persistence provider" for database adapters.
René Spronk (Jan 31 2022 at 16:33):
@Amit Cudykier As usual: it depends, and there is no dimple answer to such questions.. one can always ask, ofcourse :smile:
SangHo Kim (Feb 09 2022 at 00:14):
This response is probably in convergence with the above responses but based on experience, I also think "business use case" also matters.
For example, different cloud providers (google, MS, Amazon) have different goals for the use of FHIR.
Depending on the goals of those cloud providers, there are limitations on how you can use FHIR services I think.
Microsoft Azure is trying to build the ecosystem with FHIR server at the center but there are limitations on querying ability.
Daniel Venton said:
Azure FHIR API Pro: Microsoft does everything for you Con: Microsoft does everything for you.
Do you want to control your environment? Choice of Database, choice of where to run ... then you'll probably want HAPI. If you don't have any developers to write custom code and maintain the environment, then you'll probably want Azure.
Like how @Daniel Venton mentioned, if you need precise orchestration of the server then HAPI is the way to go. Azure OSS is also limited in programming language as well.
Ryan Harrison (Apr 09 2022 at 05:00):
First up, for an apples-to-apple compare managed with managed and open source with open source (OSS)
- Managed: Azure API for FHIR vs SmileCDR (their managed offering)
- OSS: Microsoft FHIR Server vs HAPI-FHIR
Managed vs Open Source
- If you don't have an ops team that can run, manage, patch and upgrade a FHIR server, go managed.
Limitations for both Azure API for FHIR (Managed) and Microsoft FHIR Server (OSS)
- SMART on FHIR support hacked on top of Active Directory (AD). Briefly, you need to use a SMART on FHIR proxy. You'll be missing some features like standalone launch and (I think) a patient/encounter picker. And Role Definitions apply to all data on the server link
- No FHIR subscriptions. link
Limitations of Azure API for FHIR (Managed)
- No reading from the CosmosDB database; you have to $export or rely on REST API queries. Could be a deal-breaker if you need real-time analytics.
- No FHIR façade to an existing database. Could be a deal breaker if you have want to expose data in an existing DB or need to keep the FHIR server DB in sync with another DB.
- Must use Active Directory (AD) for authorization
- Vendor locked to Azure (erm...the price we pay)
- No Transaction Bundles (fine...because you probably don't need them) link
- No bringing your own DB (fair enough...the cost of being managed)
Limitations for Microsoft FHIR Server (OSS)
- Must create your own resource application registration. link
Limitations for SmileCDR (Managed)
- No transparent pricing. Talk to sales.
Limitations for HAPI FHIR
- No SMART on FHIR server. You'll have to bring your own, which is a PITA because all of the open-source options have issues. link
- Requires a ton of configuration, care and feeding for enterprise use.
Neutral
- HAPI/SmileCDR: Java
- Microsoft/Azure: .NET
Advantage of Azure API for FHIR
- Easiest path to an enterprise-grade FHIR server for Azure users
Advantage of SmileCDR:
- Batteries included
- They have a fully featured SMART on FHIR Authorization Server, Remote Terminology Services, support for subscriptions, native conversion of HLv2 [^1], native real-time CDA conversions (beta), 3rd party app management (beta). If SmileCDR doesn't have it, it's highly unlikely that Azure does.
Advantage of Microsoft FHIR server
- Easy to get started
- Glide path to or from managed
Advantage of HAPI FHIR:
- Easiest to get started
[^1] Yes, Microsoft has an open source converter but it's not native and in a different "class" than the SmileCDR solution. link
Last updated: Apr 12 2022 at 19:14 UTC