If you’re making a decision on which server provider to use, here are 8 questions to ask before you sign up.
While some of these questions might not be important to you now, remember that projects grow over time. They might be important tomorrow.
- Are search query results truncated?
It pains me that this question needs to be asked. Some server providers limit the number of “included” results in queries. Find this out before you start writing code. - Does the server handle concurrent updates?
The FHIR documentation is clear on how this should work using ETags and other request headers. But does it work? You need a trial or a POC to test this. - Can Smart-on-FHIR be easily enabled?
Everyone says they support Smart-on-FHIR, but that “support” often means you need to build it yourself. That’s a big piece of work. - How are new server releases handled?
Important if you’re looking at cloud servers. The key question here is: if a new release breaks your app, will the provider roll back to a previous working version for you? - Can you create custom $operations?
You may not want to at the start. But most projects will need custom functionality at some point. Is this achievable without re-architecting your entire solution? - Can you load in Implementation Guides like US Core?
By “load in” I mean without writing your own script and doing it yourself. Implementation Guide management is a key part of FHIR server management. - Attribute level access control
Does the server have any built in features for access control at the element level, or will you need to build your own? - How do you run big analytical queries against the data in FHIR?
Does the server provider have a working or “off-the-shelf” approach to this or will you have to come up with your own solution. This is non-trivial and potentially costly.
Asking the questions is the first step.
The second step is verifying the answers. The best way to do this is to spend a week or two testing the server with a lot of test data.
The differences between FHIR servers are huge.
It’s worth investing the time.
---