Stream: implementers
Topic: How to produce Profile Snapshot from differential statements
Nadis Suraweera (May 29 2019 at 09:55):
Dear All,
I am working with FHIR profiles and Is there any standard way of producing the Snapshot from differential statements? i am using forge-R4 and it produce only differential statements. The reason is, validation implementation require to have the Snapshot of the profile instead of differential statements.
Thanks,
Nadis Suraweera
Morten Ernebjerg (May 29 2019 at 10:46):
If you open the "Options" drop-down menu, you can check the "Save snapshot component" option in the section "Persistance Options" (looks like it's off by default).
Grahame Grieve (May 29 2019 at 12:19):
which validator requires the snapshot?
Nadis Suraweera (Jun 10 2019 at 14:17):
If you open the "Options" drop-down menu, you can check the "Save snapshot component" option in the section "Persistance Options" (looks like it's off by default).
Thank you very much @Morten Ernebjerg it solved the problem.. :+1:
Nadis Suraweera (Jun 10 2019 at 14:20):
which validator requires the snapshot?
Hi Grahame,
HAPI FHIR validation expects snapshots rather than differential statements.. Tried the approach that @Morten Ernebjerg suggested and now it works fine..
Thanks!.
Grahame Grieve (Jun 10 2019 at 14:21):
that was a bug in the validator. It's fixed now in the standalone validator, but that isn't released as part of the HAPI validator yet
Alexander Kiel (Jul 28 2019 at 17:10):
Hi,
with FHIR Validation tool Version 3.8.12-SNAPSHOT - Built 2019-07-22T20:01:22.449Z - Git 80c305fa5d9b, I get errors like:
Error in snapshot generation: Differential for https://fhir.bbmri.de/StructureDefinition/BbmriBiobank with id: Organization.contact:head.purpose.coding.system has an element that is not marked with a snapshot match
For profiles exported from Forge without snapshot definitions.
Lloyd McKenzie (Jul 28 2019 at 17:36):
That means that the snapshot is being generated and there's inconsistencies between the snapshot and the differential - which generally means that there's a differential issue
Alexander Kiel (Jul 28 2019 at 17:49):
@Lloyd McKenzie Thanks! Do you see an issue here? https://github.com/samply/bbmri-fhir-ig/blob/36dda1a8aae6489bd68b2901cd6d418c0f8145df/profile/BbmriBiobank.StructureDefinition.json#L182
Lloyd McKenzie (Jul 28 2019 at 19:07):
The differential jumps directly from this: Organization.contact:head to Organization.contact:head.purpose.coding.system. You need to have elements for Organization.contact:head.purpose and Organization.contact:head.purpose.coding to work with the publication tooling. (Known limitation of the publication tools)
Grahame Grieve (Jul 29 2019 at 01:13):
This will be fixed in my next release - probably in a few hours time
Grahame Grieve (Jul 29 2019 at 05:55):
done.
Michel Rutten (Jul 29 2019 at 09:32):
@Alexander Kiel to be clear, actually there is nothing wrong with your profile, according to the FHIR spec. However, some tooling (specifically IG Publisher) is not yet capable of processing a sparse differential. You can work around this tooling limitation by (manually) adding missing parent elements to the differential (w/o any constraints).
Alexander Kiel (Jul 29 2019 at 10:04):
@Michel Rutten Thanks. Most of the issues are resolved with @Grahame Grieve last fix. Thanks for this. The only thing we (@Noemi Deppenwiese ) see now is something like this:
Unable to generate snapshot for https://fhir.bbmri.de/StructureDefinition/BbmriNetworkMembership because Attempt to a slice an element that does not repeat: Reference.identifier/Reference.identifier from http://hl7.org/fhir/StructureDefinition/Reference in https://fhir.bbmri.de/StructureDefinition/BbmriNetworkMembership
Is this a problem in our profiles or can this be fixed in the validator also?
Grahame Grieve (Jul 29 2019 at 10:08):
It sounds like a problem in your profiles. You can’t slice something that doesn’t repeat
Noemi Deppenwiese (Jul 29 2019 at 10:19):
After consulting the spec, it seems to be a error in our profiles since none of the elements in Reference repeat. IDK why Forge allowed me to slice identifier in the first place...
Michel Rutten (Jul 29 2019 at 10:48):
@Grahame Grieve I think FHIR always allows you to type-slice a polymorphic element, regardless of the cardinality. For example, ActivityDefinition.subject[x]
is 0...1
Grahame Grieve (Jul 29 2019 at 10:49):
Right. I should’ve said that too. But this doesn’t repeat and isn’t polymorphic
Last updated: Apr 12 2022 at 19:14 UTC