FHIR Chat · transaction bundle and conditionals · implementers

Stream: implementers

Topic: transaction bundle and conditionals


view this post on Zulip Thomas Zacher (Apr 11 2022 at 11:42):

As the FHIR spec tells, in a transaction bundle one can use conditional puts/creates with ressources containing conditional references. I wonder, if this is a feature the most FHIR server have already implemented or only a few. So is this a feature "for future" or "state of the art" for a FHIR server?

view this post on Zulip René Spronk (Apr 11 2022 at 11:45):

I'd venture a guess that most have already implemented this. Certainly not a 'cutting edge' feature, it's part of the basic server functionality.

view this post on Zulip Thomas Zacher (Apr 11 2022 at 12:28):

Thank you very much René. I asked because there´s this sentence in the spec: "Note that transactions and conditional create/update/delete are complex interactions and it is not expected that every server will implement them."
But you think this is part of the basic server functionality. So it seems that the statement in the spec is a bit outdated.

view this post on Zulip René Spronk (Apr 11 2022 at 12:49):

No, it's an optional feature, which is unlikely to be defined as 'required' at some future point in time. Some optional features are widely implemented, others are not. This one is probably fairly widely implemented, but by no means by all servers.

view this post on Zulip René Spronk (Apr 11 2022 at 12:51):

You mention Transaction Bundles, something that's supported by some servers, but not by others. This may even have technical reasons, e.g. on a NoSQL database it's hard to support transactional behaviour, whereas this is easy if one has a SQL backend.

view this post on Zulip Michele Mottini (Apr 11 2022 at 13:43):

I don't really agree. Most production servers do not support transactions at all, quite a lot of server actually do not support writing at all.

view this post on Zulip Josh Mandel (Apr 11 2022 at 13:58):

Yeah there is a pretty sharp distinction between production servers that represent an interface on top of real world EHRs, and production servers that represent standalone FHIR native offerings. Michele is mainly describing the former category, and René is mainly describing the latter.

view this post on Zulip René Spronk (Apr 12 2022 at 05:53):

Yes, the context of the question (Thomas seems to be using a server that accepts Transactions) leads me to believe he's using a server that has 'advanced' support for FHIR. If a server supports inbound transactions, then it's likely they'll also support conditional stuff. Similarly: if a server supports search, and that same server supports inbound updates, then it's likely they'll also support conditional stuff.

But I agree, most usage of FHIR will be in clients, and server capabilities will be wildly varied. One would sincerely hope that real world EHRs (eventually) support a wide range of features as well.

view this post on Zulip Thomas Zacher (Apr 12 2022 at 06:55):

I will implement a client in this case, and I´m working on architecture. Of course it makes a difference if the client has to implement the get/post stuff or not, because the server can do (conditionals). That´s why I asked. So as you described we´ll be confrontated with both situations (fhir facade and native fhir server) and I need a get/post fallback for the former. Thanks a lot!


Last updated: Apr 12 2022 at 19:14 UTC