Stream: implementers
Topic: Snapshot derivation
Dave Carlson (May 04 2016 at 19:25):
@Grahame Grieve , there appears to be a bug in the snapshot derivation computed by your server. I am using the /StructureDefinition/$snapshot operation. As a test, I took the bp.profile.xml file from May 2016 build, deleted the <snapshot>, and POSTed to your server to compute and return with snapshot. It returns without error, but misses <fixedUri> from the differential when computing the snapshot. E.g., see Observation.code.coding.system
Dave Carlson (May 04 2016 at 19:27):
Also, do any other servers implement the /StructureDefinition/$snapshot operation?
Dave Carlson (May 16 2016 at 15:00):
Grahame, now that HL7 is over, following up on this report of a bug in your $snapshot derivation, still appears in current server. Also interested if any other servers are implementing StructureDefinition/$snapshot operation?
Chris Grenz (May 16 2016 at 15:01):
Hi Dave - I'm working on what a "correct" snapshot should be. Currently, only Grahame's server exposes $snapshot. Ewout will add to Spark shortly.
Chris Grenz (May 16 2016 at 15:02):
Not sure about HAPI (@James Agnew )?
James Agnew (May 16 2016 at 15:19):
Hapi doesn't yet, but will soon....
Dave Carlson (May 16 2016 at 15:46):
Thanks Chris and James. I enthusiastically agree that we need a complete, documented specification for how a snapshot is computed from differentials. Without that, we are assured of incompatible results. I need this for my work on using MDHT UML tooling to design FHIR profiles. I currently export structure definitions from UML with differentials. For now, I am using Grahame's $snapshot operation to validate and and complete generated profiles.
Chris Grenz (May 16 2016 at 15:47):
See this stream for more info: https://chat.fhir.org/#narrow/stream/implementers/subject/Typing.20in.20FHIR
Dave Carlson (May 16 2016 at 15:48):
I saw the wiki page that Grahame posted on FHIR typing prior to HL7, but will review this stream again, thx.
Grahame Grieve (May 16 2016 at 17:35):
My understanding is that Ewout and Chris were going to write up typing, and use what I wrote as an input.
Grahame Grieve (May 16 2016 at 17:36):
Further I am waiting for Ewout to drive more alignment on snapshot generation.
Chris Grenz (May 16 2016 at 17:36):
Yes - in the works.
Grahame Grieve (May 16 2016 at 17:36):
finally, have you seen the snapshot generation tests?
Chris Grenz (May 16 2016 at 17:38):
Where are the tests?
Grahame Grieve (May 16 2016 at 17:51):
class ProfileUtilitiesTests in the reference implementation
Ewout Kramer (May 19 2016 at 09:32):
Hi @Dave Carlson, yes, we worked on this for a period of time to make sure the output of Forge is consistent with what Grahame's tooling expects as input. It's slow work since changes to the output, requires Grahame to change stuff further on in the tooling chain. Other priorities took over (and stuff seemed to work good enough ;-), but now we have Grahame, Chris, us and you being dependent on this (and not only Grahame and me), it's time to pick this up again....
Ewout Kramer (May 19 2016 at 09:33):
The way we started out is by running our snapshot generator on all differentials in the spec (all differentials from the provided IGs in the FHIR spec) and then comparing the snapshots.
Ewout Kramer (May 19 2016 at 09:34):
We could try that for Chris' and mine now, and see what happens. Then again, I am still working on DSTU2 (since that's "production" level for us), and I don't know whether it makes sense for Grahame to invest time to improve the DSTU2 snapshot generator anymore.
Ewout Kramer (May 19 2016 at 09:34):
So, should we make this work on DSTU2 or STU3?
Grahame Grieve (May 19 2016 at 21:16):
well, we need to make this work in STU3, but I don't mind working on it in DSTU2 as well.
Grahame Grieve (May 19 2016 at 21:16):
we should start with the fixed tests, and make sure everyone passes the unit tests. Then we can build from there
Chris Grenz (May 20 2016 at 13:23):
I've published a set of profiles with what I believe to be correct snapshots here: https://github.com/chrisgrenz/FHIR-Primer
Chris Grenz (May 20 2016 at 13:23):
There are branches for the different versions.
Chris Grenz (May 20 2016 at 13:25):
The wiki has some information about how to determine what to merge. Note that this is my interpretation at this point and not an official stance. https://github.com/chrisgrenz/FHIR-Primer/wiki/Snapshots-Determining-Refines
Last updated: Apr 12 2022 at 19:14 UTC