samply / blaze

A FHIR® Server with internal, fast CQL Evaluation Engine
https://samply.github.io/blaze
Apache License 2.0
153 stars 18 forks source link

Implement a Datalog Engine #510

Open alexanderkiel opened 2 years ago

alexanderkiel commented 2 years ago

Having even a basic Datalog engine would make implementing #294 much simpler. A good read is https://github.com/juji-io/datalevin/blob/query/planner.md

sidharthramesh commented 1 year ago

I understand that Blaze is inspired by XTDB. Is there any specific reason you didn't choose it as the underlying database?

This project seems to be an excellent accomplishment by itself! Really inspired by this.

I do think XTDB comes with some benefits:

Anything FHIR specific why XTDB was not used, and things were built from scratch?

We at (Medblocks) are trying to make this work with Postgres as the transaction, and document store.

We'd like to help this project in any way possible!

alexanderkiel commented 1 year ago

@sidharthramesh Good to have you here.

There are some reasons we didn't choose XTDB back in 2020:

More of our reasoning can be found in this issue #120.

But I'm open to discuss and evaluate how we can switch to XTDB in 2023.

sidharthramesh commented 1 year ago

@alexanderkiel thank you for your reply. I’m exploring XTDB and the FHIR search index is the main issue.

I feel there’s a possibility to translate most FHIR searches into datalog and then let XTDB (or another library for that matter) take it from there. I’d love to catch up with you and discuss this more. My email is sidharth@medblocks.org. Can we maybe have a short call?