Stream: IG creation
Topic: Snapshot generation with sparse differentials
Nick Freiter (Jun 16 2020 at 14:41):
@Saul Kravitz and I have come across an issue relating to his carin-bb IG, that to me looks like it might be related to the IG Publisher's handling of sparse differentials. When that IG is generated using SUSHI 0.13.2, the IG Publisher quits with the following error:
java.lang.Exception: Error generating snapshot for CARIN BB ExplanationOfBenefit Inpatient Facility(CARIN-BB-ExplanationOfBenefit-Inpatient-Facility): Unable to generate snapshot for http://hl7.org/fhir/us/carin-bb/StructureDefinition/CARIN-BB-ExplanationOfBenefit-Inpatient-Facility in C:\Users\nfreiter\dev\standardhealth\carin-bb\input\profiles\structuredefinition-CARIN-BB-ExplanationOfBenefit-Inpatient-Facility
at org.hl7.fhir.igtools.publisher.Publisher.generateSnapshots(Publisher.java:4224)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3605)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:836)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:698)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:7533)
Caused by: org.hl7.fhir.exceptions.FHIRException: Unable to generate snapshot for http://hl7.org/fhir/us/carin-bb/StructureDefinition/CARIN-BB-ExplanationOfBenefit-Inpatient-Facility in C:\Users\nfreiter\dev\standardhealth\carin-bb\input\profiles\structuredefinition-CARIN-BB-ExplanationOfBenefit-Inpatient-Facility
at org.hl7.fhir.igtools.publisher.Publisher.generateSnapshot(Publisher.java:4277)
at org.hl7.fhir.igtools.publisher.Publisher.generateSnapshots(Publisher.java:4222)
... 4 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -25
at java.lang.String.substring(String.java:1931)
at org.hl7.fhir.r5.conformance.ProfileUtilities.fixedPathSource(ProfileUtilities.java:2001)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:841)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:894)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:1019)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:1218)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:865)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:865)
at org.hl7.fhir.r5.conformance.ProfileUtilities.processPaths(ProfileUtilities.java:865)
at org.hl7.fhir.r5.conformance.ProfileUtilities.generateSnapshot(ProfileUtilities.java:536)
at org.hl7.fhir.igtools.publisher.Publisher.generateSnapshot(Publisher.java:4275)
... 5 more
However, when you generate that IG using SUSHI 0.12.7, no such error appears. The only difference I can find between the StructureDefinition generated by SUSHI 0.13.2, and the StructureDefinition generated by SUSHI 0.12.7 is that the 0.12.7 output contains extra elements in the differential that have not themselves changed, but which have changed children. This was a choice we made in 0.12.7 to make differentials non-sparse. But, in 0.13.2, we rolled back this change to make the differential fully sparse per the guidance given by @Grahame Grieve here. So in this case, it seems to us like the sparse differential on this profile causes the IG Publisher to crash.
Grahame Grieve (Jun 16 2020 at 16:57):
can you please create a task here: https://github.com/HL7/fhir-ig-publisher/issues and reference the branch of your repo that demonstrates the problem, and where to find it - thanks
Saul Kravitz (Jun 29 2020 at 17:57):
This is a blocker for updating the CI build of carinbb, unless I can force the CI build process to use sushi 0.12.7.... possible?
https://github.com/HL7/fhir-ig-publisher/issues/111
Saul Kravitz (Jul 13 2020 at 21:31):
Planning question: Do you anticipate that this issue will be addressed this summer?
@Grahame Grieve
Grahame Grieve (Jul 13 2020 at 21:35):
yes I do
Saul Kravitz (Jul 20 2020 at 15:44):
Fixed in New IGPublisher v1.1.3? (From release. notes, looks like the answer is no). @Grahame Grieve
thx
Grahame Grieve (Jul 20 2020 at 19:08):
no I don't think so. Still on my todo list
Last updated: Apr 12 2022 at 19:14 UTC