KeFHIR is an interoperability platform that helps your enterprise to solve any use-cases related to the interoperability of healthcare.
Typically all use-cases may be grouped into the two main use-cases:
But before choosing a server, people very often ask two ideological questions:
If our ideology coincides, then we will continue.
There are several technical questions that should be answered before the selection of the FHIR server.
These questions lead us to the very modular architecture where the implementation of every module may be replaced and the core module have many interceptors that may be used by any developer.
You can imagine the KeFHIR server like a LEGO, within kefhir-core as a basis and pluggable modules as building blocks that you can select for your needs.
You can choose several implementations of the store that may work in parallel, one search, and other different modules including those built on your own.
Once your FHIR server is composed you can create docker-compose or/and Helm scripts for automation of your deployment.
For details about the technical question described above see Architecture and Deployment pages.
KeFHIR provides several Java modules that may be embedded into the source code of your application as a library (jar).
Considering that kefhir-core does not contain built-in functionality for validation, transformation, etc, and uses it through Java modules, your application can perform exactly the same behavior.
The typical situation is when you have a ready application and just need an FHIR facade in the front of your application. In such case, you can take KeFHIR modules, compose Conformance (capability statement of your API) and create the implementations of KeFHIR interfaces.
See Customization page for details.
In the intermediary pattern, there's a facade web server that connects to several other FHIR servers, and provides a united front to them all.
In this scenario, the client connects to the intermediary (the "facade server"), searches for a patient, which is a search performed across all the servers (multiple "source servers"), and then collates the response, so that the client doesn't know about it.
Intermediary server solve data routing of resources to the exact server, provides federated search, garantees data integrity between servers.
See Intermediary server page for details.