Background
FQL is designed to give users with limited technical knowledge access and insight into collections of FHIR resources, by allowing them to produce tables with relevant data.
FQL should also be usable to produce table within text documents, like markdown.
Because FHIR resources are tree-structures the main challenge is to give writers of queries a simple and intuitive way of transforming and filtering data from these trees into rows and columns. On the other hand it should allow full expressiveness while maintaining consiseness for more advanced use cases and people with more technical skill.
For this FQL was build with existing languages in mind which have proven to be accessible to some degree. FQL has adopted the syntax of SQL, Linq, FhirPath and JSON, each time taking the most intuitive and least verbose alternative in case of overlap. For advanced use cases, fluent syntax prevailed over intuitiveness to maintain the flexibility of function expressivity.