Stream: IG creation
Topic: Using pre-adoption ext mechanism with a modifier extension
Abdullah Rafiqi (Oct 19 2021 at 16:47):
Coming across error(s) using the request-doNotPerform extension as a modifier extension within deviceRequest. The scope of the extension is outside of NutritionOrder and deviceRequest was one of the approved profiles but recently informed that the final outcome was to add doNotPerform as an explicit element in R5.
It was suggested for R4 to use the pre-adoption extension mechanism for conversion between versions .- so http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform
Changed the type within the profile spreadsheet from Extension{http://hl7.org/fhir/StructureDefinition/request-doNotPerform}
to Extension{http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform}
but getting a build error within the publisher for 'reference of an unknown extension -http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform '
Spreadsheet change with pre-adoption extension mechanism
Wanted to confirm if the pre-adoption extension mechanism will suffice for a modifierExtension and if the url looks to be correct?
Lloyd McKenzie (Oct 19 2021 at 18:06):
You might need to say "4.6" right now as 5.0 doesn't yet exist.
Grahame Grieve (Oct 19 2021 at 18:51):
no that would always be 5.0 not 4.6 in that context
Lloyd McKenzie (Oct 19 2021 at 18:52):
Thoughts on the cause of the error then @Grahame Grieve?
Grahame Grieve (Oct 19 2021 at 18:52):
no idea. I'll have to debug. And my list of things to debug is growing rapidly this week
Bryn Rhodes (Nov 03 2021 at 21:29):
Committed to QICore
Bryn Rhodes (Nov 10 2021 at 21:57):
@Grahame Grieve , I've done a bit of debugging here and I got as far as the "DeviceRequest.doNotPerform" doesn't appear to be in the xver-paths.json file. I'm guessing that's something that gets generated, but I'm not sure how or where?
Grahame Grieve (Nov 10 2021 at 22:06):
this should be fixed now
Grahame Grieve (Nov 10 2021 at 22:09):
roughly:
- the file itself is produced by the main build
- when I do a release, I copy that file into the source for hl7.fhir.xver-extensions, and release a new version
- I forgot to do that when I released 4.6.0, so I did last week - released 0.0.7
- it has "package\other\xver-paths-4.6.json" in it
- that contains DeviceRequest.doNotPerform
- the validator maps /5.0/ to 4.6.0. And it should all work now
Bryn Rhodes (Nov 10 2021 at 23:43):
Perfect, thank you!
Bryn Rhodes (Nov 11 2021 at 14:52):
Tried again this morning with the latest release (v1.1.85) and now I'm getting a different error, says the version is incorrect:
org.hl7.fhir.exceptions.FHIRException: Reference to invalid version in extension url http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform
Bryn Rhodes (Nov 11 2021 at 14:53):
I blew away my package cache and tried again, same result, though I did notice that the xver-extensions package was version 0.0.5, but I see you're referencing 0.0.7 above, is that potentially the issue?
Grahame Grieve (Nov 11 2021 at 18:34):
well, it certainly is the issue but why are you getting an old version?
Grahame Grieve (Nov 11 2021 at 18:40):
... and that is my fault. I've had some code reversion somewhere.
Eric Haas (Nov 11 2021 at 19:23):
this is my issue too but not as burning for me... GG do you still need me to provide a test build to investigate?
Grahame Grieve (Nov 11 2021 at 20:01):
not for this one. I will try and get an update out for this fix today
Bryn Rhodes (Nov 15 2021 at 15:40):
I tried this again with the latest publisher (v1.1.86) and I'm getting the same error about "Reference to invalid version in extension url". I cleared my package cache and tried again, same result, and I notice that the xver-extensions pacakage is still 0.0.5.
Grahame Grieve (Nov 15 2021 at 22:48):
what IG is this?
Bryn Rhodes (Nov 15 2021 at 23:06):
QICore
Bryn Rhodes (Nov 15 2021 at 23:07):
https://github.com/HL7/fhir-qi-core
Grahame Grieve (Nov 16 2021 at 00:20):
sigh. I'll make the same change to the code for a third time. And I'll try to figure out why I've done it three times... Git screwed me somewhere but I didn't think it was that
Grahame Grieve (Nov 16 2021 at 00:21):
anyway, next release
Bryn Rhodes (Nov 19 2021 at 22:51):
Okay, the good news is, it worked and we can build now :) The bad news is, since it is a "modifier" element, we are using a "modifierExtension", but the build tooling is now giving an error that it should be an "extension", not a "modifierExtension". We can change it, but then how does an R4 implementation know that it's a modifier? @Grahame Grieve https://build.fhir.org/ig/HL7/fhir-qi-core/branches/master/qa.html#_scratch_ig-build-temp-S6MEHV_repo_input_resources_devicerequest-negation-example
Grahame Grieve (Nov 20 2021 at 02:58):
that's a bug. I'll fix it before the next release
Grahame Grieve (Nov 25 2021 at 00:21):
this should be sorted now @Bryn Rhodes
Bryn Rhodes (Nov 25 2021 at 03:10):
Confirmed this is fixed, thank you @Grahame Grieve
Last updated: Apr 12 2022 at 19:14 UTC