Stream: implementers
Topic: bdl-8 when no "fullUrl"
George Leontiev (Jul 31 2018 at 16:21):
Hi, first question here so let me know if I am in the wrong place:
I'm implementing FHIRPath and running into an issue with the bdl-8 constraint on bundle: https://www.hl7.org/fhir/bundle.html
fullUrl
is optional, so contains('/_history/')
may propagate the empty result, which .not()
also propagates, so the constraint returns {}
.
Does {}
mean the constraint passes? Or is the FHIRPath incorrect? or am I missing something?
Bryn Rhodes (Jul 31 2018 at 16:27):
Yes, empty in a constraint means it passes, in the same way that null in a check constraint in SQL passes.
George Leontiev (Jul 31 2018 at 16:29):
OK Thanks!
Christiaan Knaap (Aug 01 2018 at 08:40):
FYI: bdl-8 will be dropped in R4.
Christiaan Knaap (Sep 19 2018 at 08:43):
FYI: bdl-8 will be dropped in R4.
At least, I thought so after the Cologne WGM. But I am confused by two related GForge items:
17251: Decided in Cologne to revoke the restriction all together.
16518: No defined use-case and prohibiting it simplifies implementations. If you have a use-case, feel free to submit a separate change request describing it. We don't feel it's appropriate to make a statement about the rationale in the spec.
And in the latest build, bdl-8 is still in.
So what is the verdict?
Lloyd McKenzie (Sep 19 2018 at 13:27):
@Grahame Grieve ?
Grahame Grieve (Sep 21 2018 at 03:11):
oh so my comment is a little misleading..
It cannot be the non-version logical id ([base]/Patient/123), because that would result in duplicate fullUrls.
That's what we revoked altogether
Christiaan Knaap (Sep 21 2018 at 07:34):
You mean that duplicate fullUrls are allowed? And only in a history bundle I presume?
Grahame Grieve (Sep 21 2018 at 07:41):
no in any bundle
Grahame Grieve (Sep 21 2018 at 07:41):
it might not make sense... but it might.
Richard Ettema (Sep 22 2018 at 01:34):
bdl-7 is also related to this issue when the Bundle is history. The problem is when the history contains entries for deleted versions of the resource. The expression will fail because the entry.resource is not present.
bdl-7 expression: entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
Grahame Grieve (Sep 24 2018 at 22:18):
can you make a task for this?
Last updated: Apr 12 2022 at 19:14 UTC