Functional

Pipeline

Because the main goal of FQL is to make complex FHIR data as accessible as possible for non technical people, it takes many principles from SQL. But since SQL is not functional, or at least not sequential, FQL has adopted the principles of Linq (Language Integrated Query from C#) with regards to SQL, to allow forming a pipeline.

So, we start by defining a set of nodes by selecting a set of FHIR resources from a source. A FHIR resource is equivalent to a node. And after that it goes through a series of pipeline steps each of which are of the shape: list -> function -> list. Examples of these are from, where, select, group by.