FHIR Chat · inconsistent structuredefinition · implementers

Stream: implementers

Topic: inconsistent structuredefinition


view this post on Zulip Nick George (Aug 08 2018 at 21:34):

hello, looking at the raw structure definition for http://hl7.org/fhir/StructureDefinition/observation-geneticsDNASequenceVariantName, I noticed that in the snapshot, it lists Extension.extension as having max="*", but in the differential it has Extension.extension with max="0". What's the story there?

view this post on Zulip Grahame Grieve (Aug 08 2018 at 21:41):

sounds like more problems in the snapshot generator

view this post on Zulip Nick George (Aug 08 2018 at 21:47):

yeah I assumed it was a bug - I'm working on codegen for profiles and not sure how to handle cases where the snapshot and diff are inconsistent. Is that something that can get updated?

view this post on Zulip Grahame Grieve (Aug 08 2018 at 21:48):

well, I will certainly fix it for R4. There's also an outstanding request for me to regenerate the R3 snapshots, but that's pretty scary... it's a great deal of work, and what's the QA process?

view this post on Zulip Nick George (Aug 08 2018 at 21:51):

I imagine the QA process would be a validator that makes sure all fields in elements in the diff match those fields in those elements in the snapshot

view this post on Zulip Grahame Grieve (Aug 08 2018 at 21:56):

if only it were so simple

view this post on Zulip Nick George (Aug 08 2018 at 22:08):

Ok Thanks, sounds like best bet is to go with differential when there is a disagreement

view this post on Zulip Nick George (Aug 10 2018 at 23:00):

so I wrote a tool that compares structure definition differentials to the snapshots and calls out inconsistencies. Let me know if that's something you'd be interested in taking a look at. Most of what it found is pretty inconsequential (changed comments/definitions, or mappings that are added in differential but not present in snapshot). Two bigger things are max number of extensions, where it looks like the differential is the correct one, and some contentReferences on profiles, where it seems that the snapshot is correct (e.g., ConsentDirective profile of Contract.term.group lists #Contract.term in the snapshot but #term in the differential)

view this post on Zulip Grahame Grieve (Aug 10 2018 at 23:58):

how does the tool work?

view this post on Zulip Grahame Grieve (Aug 10 2018 at 23:58):

I mean, what langauge/platform to run it?

view this post on Zulip Nick George (Aug 11 2018 at 00:13):

Java. right now I'm writing it into our StructureDefinition -> protobuf converter, but would be trivial to refactor into a standalone

view this post on Zulip Patrik Sundberg (Aug 11 2018 at 01:31):

@Nick George , we should add a standalone binary in the github package to do these verifications. hopefully others can add more checks if we missed some.

view this post on Zulip Grahame Grieve (Aug 11 2018 at 03:43):

I would like to be able to run it from java code on winows/linux/osx - then I could built it into the standard build

view this post on Zulip Nick George (Aug 11 2018 at 06:07):

I think we can make that work


Last updated: Apr 12 2022 at 19:14 UTC