-
Notifications
You must be signed in to change notification settings - Fork 45
JPA Server Implementation
CQL execution can rely unnecessarily on the use of HTTP requests to retrieve model-specific resources. For example, the execution of CQL libraries using the FHIR model requires the existence of a FHIR resource provider and a FHIR terminology provider. The resource provider contains the FHIR resources and the terminology provider contains the valuesets and codesystems necessary to execute the library. Generally being implemented as a RESTFul web service, the resource provider and terminology provider information is accessed through HTTP requests, which are slow and expensive. Additionally, depending on an external service introduces security and performance issues that come with sending data over a network.
HAPI provides a JPA server module that makes use of an embedded database to store FHIR resources along with the Java Persistence API to manage the database. The data within the embedded database is manipulated with the use of a Data Access Object (DAO). The DAO maintains direct access to the database's data access layer without exposing the details of the database, which is fast and secure.