Stream: IG creation
Topic: Error in snapshot generation
Saul Kravitz (May 27 2020 at 17:06):
What does this IG Publisher error mean?
I have a clean sushi build, but IG Publisher sez:
Error in snapshot generation: The profile http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Organization has 5 elements in the differential (id: Organization.identifier.id, id: Organization.identifier.use, id: Organization.identifier.type, id: Organization.identifier.period, id: Organization.identifier.assigner) that don't have a matching element in the snapshot: check that the path and definitions are legal in the differential (including order) (
Relates to this fsh: https://github.com/HL7/davinci-pdex-plan-net
The relevant FSH input is:
- identifier.id MS
- identifier.use MS
- identifier.system MS
- identifier.type MS
- identifier.value MS
- identifier.period MS
- identifier.assigner MS
PlanNetOrganization is a profile of USCore-Organization, which has two (open) slices of identifier (NPI and CLIA).
Could that be contributing to a sushi or IG Publisher issue?
Nick Freiter (May 27 2020 at 17:46):
I've taken a look at this, and one thing I am noticing is that SUSHI will add an empty Practitioner.identifier
element to the differential so that the differential is not sparse:
image.png
But if that empty Practitioner.identifier
element is taken out, it looks like this error goes away. We didn't think having an empty diff element like this would be a problem, but it seems to be a problem in this case for some reason.
Jose Costa Teixeira (May 27 2020 at 18:23):
ok here is what sushi generates:
{
"id": "Organization.identifier",
"path": "Organization.identifier"
},
{
"id": "Organization.identifier.id",
"path": "Organization.identifier.id",
"mustSupport": true
},
{
"id": "Organization.identifier.use",
"path": "Organization.identifier.use",
"mustSupport": true
},
{
"id": "Organization.identifier.type",
"path": "Organization.identifier.type",
"mustSupport": true
},
{
"id": "Organization.identifier.period",
"path": "Organization.identifier.period",
"mustSupport": true
},
{
"id": "Organization.identifier.assigner",
"path": "Organization.identifier.assigner",
"mustSupport": true
},
{
"id": "Organization.active",
"path": "Organization.active",
"patternBoolean": true
},
{
"id": "Organization.type",
"path": "Organization.type",
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/us/davinci-pdex-plan-net/ValueSet/OrgTypeVS"
}
},
Jose Costa Teixeira (May 27 2020 at 18:26):
they are all mustSupport, I don't see how this can be about sparse or exhaustive differentials.
Jose Costa Teixeira (May 27 2020 at 18:26):
@Nick Freiter you are saying about Practitioner, but the issue reported is in the Organization...?
Chris Moesel (May 27 2020 at 18:28):
they are all mustSupport, I don't see how this can be about sparse or exhaustive differentials.
The sparse/exhaustive part is referring to the fact that we include an element for Organization.identifier
even though it has no changes. A sparse differential is when the full path to an element isn't represented in the differential (e.g., if there is an element for Organization.identifier.id
but not for its parent, Organization.identifier
).
I'm thinking that this probably has to do with the parent profile having a slicing
on Organization.identifier
-- and in this profile we're trying to apply constraints to the "all slices" part of the slicing -- but the publisher is confused about that.
Jose Costa Teixeira (May 27 2020 at 18:29):
@Saul Kravitz are you using the latest version of the publisher?
Chris Moesel (May 27 2020 at 18:30):
@Nick Freiter confirmed to me in an earlier message that this issue exists for both the Organization
and Practitioner
-based profiles in Saul's IG. He probably just copied the wrong one in here.
Jose Costa Teixeira (May 27 2020 at 18:33):
ok
Saul Kravitz (May 27 2020 at 18:39):
Just updated to: FHIR IG Publisher Version 1.0.97-SNAPSHOT (Git# 9433f4baf940). Built 2020-05-27T11:06:47.451+10:00 (17 hours old)
Still get:
Error in snapshot generation: The profile http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Organization has 5 elements in the differential (id: Organization.identifier.id, id: Organization.identifier.use, id: Organization.identifier.type, id: Organization.identifier.period, id: Organization.identifier.assigner) that don't have a matching element in the snapshot: check that the path and definitions are legal in the differential (including order)
and
Error in snapshot generation: The profile http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Practitioner has 5 elements in the differential (id: Practitioner.identifier.id, id: Practitioner.identifier.use, id: Practitioner.identifier.type, id: Practitioner.identifier.period, id: Practitioner.identifier.assigner) that don't have a matching element in the snapshot: check that the path and definitions are legal in the differential (including order)
Jose Costa Teixeira (May 27 2020 at 18:42):
are you slicing organization.identifier?
Jose Costa Teixeira (May 27 2020 at 18:43):
ah, sorry. on the parent profile...
Jose Costa Teixeira (May 27 2020 at 18:44):
ok I understand now, @Chris Moesel the parent profile has the slices , but the child profile is trying to apply a MS to all slices.
Chris Moesel (May 27 2020 at 18:53):
Right -- including the "open" part of the slicing (e.g., elements that don't fall into a slice).
I've tried adding the "slicing" definition in the differential as well as adding the missing slices (e.g., NPI, etc) -- and nothing makes this error go away except removing the root identifier
element.
Grahame Grieve (May 28 2020 at 12:54):
so it means there was a but in the differential processing code. Fixed next release
Last updated: Apr 12 2022 at 19:14 UTC