We haven't gotten that far to be honest, still in the risk identification phase of the project.
I am concerned with the leakiness of the abstraction. It reminds me a lot of Hasura, which effectively makes one projection of the data 'the center of the world'.
On one hand it wants to be everything, and if I let it be everything then it'll take care of access, audit, versioning, cohesion. But on the other hand it's put the specific data model implementation forward of the domain.... it's hard to know what the ideal thing to do is.
If we pick medplum then it's likely that we'll try to use it maximally, but for stuff that doesn't fit well into a 'document store on postgres' pattern we'll have to work something out. Possibly a trpc server alongside it, or maybe the medplum bots are the only interface, the resource type is used for namespacing and the bot operations deal with a separate database. Not sure yet