IBM FHIR Server vs. HAPI-JPA: Which open source tool performs better?

Comparing performance measures is important for choosing a FHIR technology that works well for your healthcare organization.

By | 5 minute read | September 23, 2021

A developer is staring at their screen as they work on setting up FHIR technology for their healthcare organization.

Figuring out which FHIR standard technology to choose can be tricky for healthcare organizations. Open source projects have many advantages, but sometimes they can be hard to scale. You want to pick one that will grow along with your organization and support your long-term digital technology goals.

This short guide will give you a comparison of two leading open source Java technologies for FHIR: IBM® FHIR Server and HAPI-JPA. If you’re a newcomer to FHIR (Fast Healthcare Interoperability Resources) or HL7  (Health Level Seven International), you might want to do some more reading on the basics of FHIR and healthcare interoperability first. But if you’re ready to start making decisions about which technology to use for your organization’s healthcare information, then read on.

IBM FHIR Server overview

IBM FHIR Server is an open source technology written in Java licensed under Apache 2.0. It can be used to process, validate and store healthcare data according to HL7 FHIR specifications. IBM FHIR Server provides access to the data through an application programming interface (API) and supports standard API interactions along with customizable interactions.

The IBM FHIR Server comes pre-packaged with configurations for specific use cases, such as data exchange between payers, healthcare providers and more. The use case configurations follow the interoperability standards now required by the Centers for Medicaid & Medicare Services (CMS) and recommendations from the Office of the National Coordinator for Health IT (ONC). The features include bulk data transfer, hard erases, audits, search, terminology and more. Currently, IBM FHIR Server supports configurations for two common databases: Postgres and DB2.

The IBM FHIR Server open source project is supported by a dedicated team of experienced software professionals and undergoes regular, rigorous reviews. The development team responds to questions through GitHub and a Slack community. IBM also offers commercial support options for clients who want a stronger level of support for troubleshooting and maintenance with the IBM FHIR Server Enterprise Edition.

HAPI-JPA overview

HAPI-JPA is a version of the open source HAPI-FHIR library that uses the JPA 2.0 API to store data in a database. HAPI-JPA comes with an embedded Derby database so the server can run without adding an external database. It also can be configured to run with other databases.

HAPI-JPA is designed to support data sharing between different healthcare organizations using the FHIR standard. This RESTful server can be used to manage and store healthcare data from electronic health record (EHR) systems and other sources. The features of HAPI-JPA include search and reference configuration as well as options for a master data management module that can link FHIR resources, a module for clinical quality language, partitioning and multilatency.

Contributors to the HAPI-JPA open source project include a mix of privately supported developers and academic experts. Support for the project is offered through GitHub and a chat community. Commercial support options for HPA-JPA are also available.

IBM FHIR Server vs. HAPI-JPA in performance tests

To do a direct comparison between IBM FHIR Server and HAPI-JPA, both technologies were deployed to a Kubernetes cluster running in IBM Cloud and configured to use PostgreSQL databases. Three tests were run, including tests for data ingestion, an interoperability workload and FHIR search. IBM FHIR Server outperformed HAPI-JPA in all three tests.

Test 1: Data ingestion

During the data ingestion test, a test where FHIR resource bundles are loaded into the server, IBM pulled more data in at a faster rate than HPA-JPA with fewer rejections (see Figure 1).

Chart. As thread count increases from 1 to 40 to 100, IBM FHIR Server processed more resources per second than HAPI-JPA.

Figure 1: IBM FHIR Server ingests more data at a faster rate than HAPI-JPA

Test 2: Data interoperability

The interoperability test was designed to mimic the movement of patient data between healthcare systems. This specific test reflects a real-time workflow for claims data moving between clinicians and payers. IBM FHIR Server outperformed HAPI-JPA under every tested scenario and delivered more FHIR resources per second, with IBM FHIR Server delivering as many as 25 times more resources as the CPU level increased (see Figure 2).

Chart. As CPU thread count increases, IBM FHIR Server processes 5X to 25X more resources per second than HAPI-JPA.

Figure 2: IBM FHIR Server consistently outperforms HAPI-JPA in interoperability tests

Test 3: Data search

Finally, the search test used a library of tests created for different FHIR search scenarios, such as medical history, coverage eligibility, allergy information and many other situations. IBM FHIR Server provided a faster response time compared to HAPI-JPA in the majority of these tests.

Want all the test specs? Read the full report here.

Scalability is the main reason to choose IBM FHIR Server

Both IBM FHIR Server and HAPI-JPA are open source solutions, which means if your organization already has skilled developers on staff, they can download the software for free and get started right away. No matter which solution you choose though, you’ll need to consider how scalable it is and how you will support it.

One of the biggest differences between IBM FHIR Server and HAPI-JPA is IBM FHIR Server has a custom persistence layer that uses specific capabilities in the database to improve data access. Another difference is when executing FHIR search requests, HAPI-JPA has been observed writing to the database. IBM FHIR Server does not write to the database, which likely accounts for the higher performance. Also, IBM FHIR Server can use read-only replicas, which is a database capability that helps it provide greater scalability. The IBM FHIR Server team also used their deep knowledge of how healthcare data behaves in databases to optimize how it handles complex queries.

So what does that mean from a business perspective? Ultimately, the results show that IBM FHIR Server can move clinical data faster than HAPI-JPA and move larger amounts of data at high speeds. This could ultimately translate into faster turnaround for test results, eligibility requests, prior authorizations and many other healthcare applications that depend on information exchange between multiple groups.

Healthcare data is complex, and even with the new standard there will be challenges as the amount of data moving through healthcare data exchanges increases. IBM FHIR Server would be a good long-term choice for forward-thinking healthcare organizations that want health information technology that grows with their needs and provides solid data functionality over time.

Ready to give IBM FHIR Server a try?

Take our code for a test drive or learn more about our supported options.

Read the full report here.