[GSoC][LibreHealth] LibreHealth FHIR Analytic Capabilities

In my last post, I have discussed about the architecture of LibreHealth FHIR Analytic module. After that, I have worked on refining UIs to provide easy access for users to perform FHIR analytic. This is because, users of FHIR analytic module might not be experts in the Spark SQL. Hence we can’t expect every user will write Spark SQL queries to analyze the FHIR data available in the system. Here are the main resources that allow users to query data.

Patient Resource

Patient is a key resource defined in the FHIR specification. Hence users will require to search patients by their ID, Identifier and based on other patient attributes. Hence FHIR analytic module provides capability to search patients based on their attributes. The contains flag which is at each field can be use to perform a like query when user do not want to search for a exact match. Also by default, if user a filled a field, it perform a matching query of all specified fields. This mean only the patients who matched all the attributes specified in the UI will return as search results. But if user want to perform search which return patients who matches any of the specified attribute, then user can select the individual flag near the field.

Patient Search Form Using Demographics
Patient Search Form Using Patient Details

Observation Resource

Observation resources is a another key resource defined in the FHIR specification. Hence LibreHealth FHIR analytic module add the same capability as describe in the patient resource to search observations. Users presented with a form which contains key attributes of the observation where they can search for observations based on their preference.

Search Observation Form

Encounter Resource

FHIR Analytic module include Encounter Resource search support as it’s a well defined resource in FHIR Specification. All key fields are supported to search encounters.

Encounter Search Form

Medication Request Resource

Medication request is a another key resource defined in the FHIR specification which is similar to Drug Order in LibreHealth. This represents a medications with the dose and the time period that ordered by a doctor to a patient.

Medication Request Search Form

Diagnostic Report Resource

A diagnostic report is the set of details that is provided by a diagnostic service when investigations are complete. The report contains a mix of atomic results, text reports, images, and codes. This is another key resource when it come to identify history of a patient. FHIR Analytic module provide the capability to search diagnostic reports by its key attributes.

Diagnostic Report Search Form

This is my progress upto the second evaluation of the GSoC. My next target is to integrate this module with the FHIR Spring Data Integration project which I planning to complete in next few weeks. I’m currently fix issues and bugs of the current implementation.