Stream: smart
Topic: Multitenancy
Bernard Stibbe (May 18 2021 at 08:34):
Hello,
If we like to work with multiple tenants and we have one single endpoint for our FHIR Store.
Should we extend the DomainResource with a tenant element with type id, so that each tenant is offered a special part of the application with its own FHIR resources, configuration and management.
Or are there other solutions to get this done?
Regards,
Bernard
Craig McClendon (May 18 2021 at 14:46):
Every resource has a meta.source element which can store the provenance. There is also a Provenance resource available. But how will you assign the tenant if they are all coming into a single URL? Force the client to set it? Without really knowing your requirements, it would seem more flexible to just split off different URLs from your base for each tenant. Those may all route to a single internal server (or not), but it would give you options to configure per-tenant policies, run the data through proxy services to tag the tenant, etc.
Josh Mandel (May 18 2021 at 14:58):
Should we extend the DomainResource with a tenant element with type id
Extending DomainResource in ad-hoc ways is never the right answer in FHIR, if you want interoperability. If you wanted a new element, the recommendation would be to use an extension; but as Craig points out, Meta.source may meet your needs here.
Grahame Grieve (May 18 2021 at 14:59):
I would compartment implicitly by the smart session
Craig McClendon (May 18 2021 at 15:08):
I didn't notice this was tagged in the SMART channel. My response was in a general sense to a multi-tenant FHIR server. SMART could be a bit different with defined registration and authorization protocols where it seems is the place you'd figure out who the "tenant" is.
Lloyd McKenzie (May 18 2021 at 16:21):
Also note that it's best to not start the same conversation in multiple streams at the same time (unless you're explicitly advised to do so, and even then cross-linking is helpful). Other thread here: https://chat.fhir.org/#narrow/stream/179181-netherlands/topic/Multitenancy
Last updated: Apr 12 2022 at 19:14 UTC