Stream: implementers
Topic: fullURLs in a transaction response Bundle
Gou Masuda (Jul 02 2020 at 22:40):
Hello, I need some help about fullURLs in a transaction-response Bundle.
The FHIR spec says,
2.36.4 Resource URL & Uniqueness rules in a bundle.
A given version of a resource SHALL only appear once in each Bundle.
And the conformance rule "bdl-7" says that
"FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)"
Does it apply to transaction response Bundle?
When I have a transaction bundle which updates a Patient resource and then reads the Patient,
my understanding is that the response bundle includes two Patient resources
with same fullURL and same meta.versionId.
Does it break the conformance rule bdl-7?
Is my understanding correct ?
Thanks.
Lloyd McKenzie (Jul 02 2020 at 23:07):
Why would you do an update and a read in the same transaction - given that the update will implicitly give you a read response - at least if you ask it to? In any event, yes, this would violate the constraint and create an invalid instance.
Gou Masuda (Jul 04 2020 at 02:26):
Thank you for your reply.
We are currently implementing a FHIR server. When implementing its transaction bundle processing, I was wondering how we should implement the rules stated in the spec 2.36.4.
This example is just an example for illustration. I've read your answer and understand that it is unusual case.
When the server receives such a transaction Bundle, should the server return an invalid Bundle response ?
Or should it return an error?
Thanks.
Lloyd McKenzie (Jul 04 2020 at 03:31):
It would be best to return an error - returning an invalid instance would make the server non-conformant. If you like, you can submit a change request and we can explore documenting this edge case in the spec.
Gou Masuda (Jul 07 2020 at 01:21):
Thank you for your suggestion. Following your advice, we 'll choose to return an error instead of an invalid response.
Last updated: Apr 12 2022 at 19:14 UTC