Last modified on: 09 Jul 2021
Please note: This software is currently in BETA.
FHIR® (Fast Healthcare Interoperability Resources) is a standard describing data formats and elements, known as resources, and an application programming interface (API) for health care data exchange. The standard was created by the HL7® (Health Level Seven International) health-care standards organization.
The Denodo HL7® FHIR® component consists of:
Note: “FHIR” and “HL7” are registered trademarks of HL7 http://www.hl7.org
The Denodo HL7 FHIR Service is distributed as a DenodoConnect that can be downloaded from the Support site.
This Denodo HL7 FHIR Service distribution consists of:
If you need to use a JDBC driver corresponding to a Denodo update different to the one that is distributed, you only need to replace this jar.
For installing it just download the .zip file and extract the service into the desired folder.
In order to run it, you need at least Java 8 and the environment variables JAVA_HOME and PATH correctly configured.
After running the script in the /bin folder, you can use the Denodo HL7 FHIR Service at: http://localhost:8080/
Denodo HL7 FHIR Service running
The Denodo HL7 FHIR Service allows you to configure the following properties at the resources/application.properties file:
The denodo_hl7_fhir_templates.vql script file contains interfaces for each one of the following HL7 FHIR resources:
Please note: importing this script will create a database called hl7_fhir in your Virtual DataPort installation, and will drop any existing database previously existing with that exact name.
You only have to import the the denodo_hl7_fhir_templates.vql file using the Import option of the VDP Administration Tool:
Import option in VDP
Import wizard in VDP
After the import operation finishes, refresh the Server Explorer by selecting File > Refresh and you will be able to see the interfaces:
Interfaces for HL7 FHIR resources
The hl7_fhir database contains two folders:
Note that all the interfaces are unimplemented, you must set the implementation of each one using your own views.
Interface views are a special type of derived views that consist only of a definition of fields and a reference to another view. You have to set the implementation view in order the queries work properly. The implementation view must have the same number of fields and with the same type.
The denodo_hl7_fhir_templates.vql script defines also some new data types:
Make sure your implementation views make use of these types when necessary.
In order to set the implementation of an interface you just need to edit the interface, select the Implementation tab and drag and drop the implementation view to this window.
Set implementation view of Patient interface
The Denodo HL7 FHIR Service implements the read by id and search operations of HL7 FHIR RESTful API, both without parameters, for the following resources:
This operation follows the syntax: http://localhost:8080/<resource_name>/<resource_id>.
For example, if we want to see the details of a care plan with id is “colonoscopy”, the url to be invoque will be: http://localhost/CarePlan/colonoscopy
read CarePlan HL7 FHIR resource by id
This operation follows the syntax: http://localhost:8080/<resource_name>.
The Denodo HL7 FHIR server implements only this operation, without search parameters. It really works as a list operation.
For example, if we want to list all the patients of our database, the url to be invoque will be: http://localhost/Patient
search all Patients HL7 FHIR resource