Stream: conformance
Topic: Differential and Snapshot view differences
Keith Boone (Jun 16 2016 at 06:18):
I'm noticing in the DSTU2 line that when I build a profile that has constraints on meta that only meta shows up in the differential, they don't show up in the snapshot, and that my mappings don't show up in the Mapping table either. It's like these constraints have disappeared, possibly because they don't appear directly within the resource, only in Resource or DomainResource. Is it too much to hope for a fix in the build tools to correct this for building a profile from the DSTU2 line?
Brian Postlethwaite (Jun 16 2016 at 06:21):
If this is with forge, there is a menu option to include these too.
Look under the options menu in the FHIR Options, last 3 items (save ... and show ...)
Brian Postlethwaite (Jun 16 2016 at 06:21):
I'm sure Michel will correct me if I'm mistaken when the timezone moves to them.
Keith Boone (Jun 16 2016 at 06:32):
Not with Forge, but with FHIR build tools, unfortunately. Also noted that detailed descriptions are missing in these cases as well in the Profile output.
Brian Postlethwaite (Jun 16 2016 at 06:38):
Can't help there unfortunately.
Grahame Grieve (Jun 16 2016 at 06:39):
is this anywhere I can run it?
Lloyd McKenzie (Jun 17 2016 at 01:39):
@Keith Boone Grahame just gave me a patch for a similar issue I had on the May2016 release. If you authored the profiles with Forge, they were spitting elements out in the wrong order - and the snapshot wasn't being generated correctly.
Michel Rutten (Jun 17 2016 at 10:07):
Hi @Lloyd McKenzie does this bug still exist in Forge? I'm aware that snapshot generation needs some work. But I'm surprised and a bit worried about the apparently incorrect order of elements. Can you describe steps to reproduce?
Grahame Grieve (Jun 17 2016 at 10:07):
It was the dfferential that was out of order
Michel Rutten (Jun 17 2016 at 10:55):
@Grahame Grieve do you know the specific element(s) that are out of order? Keith mentions constraints on meta.
Grahame Grieve (Jun 17 2016 at 10:56):
Keith didn't say it was out of order, and I don't know whether it is
Grahame Grieve (Jun 17 2016 at 10:56):
but Keith is not using forge anyway
Michel Rutten (Jun 17 2016 at 10:57):
@Lloyd McKenzie do you know how to reproduce this issue?
Michel Rutten (Jun 17 2016 at 11:14):
I have noticed another difference between snapshot and differential list in (DSTU2) profile-resources. For backbone elements in core resource definitions, the element type is defined in the snapshot, but is missing from the differential. For example ValueSet.contact:
Snapshot:
<element> <path value="ValueSet.contact"/> <short value="Contact details of the publisher"/> <definition value="Contacts to assist a user in finding and communicating with the publisher."/> <comments value="May be a web site, an email address, a telephone number, etc."/> <min value="0"/> <max value="*"/> <type> <code value="BackboneElement"/> </type> <isSummary value="true"/> </element>
Differential:
<element> <path value="ValueSet.contact"/> <short value="Contact details of the publisher"/> <definition value="Contacts to assist a user in finding and communicating with the publisher."/> <comments value="May be a web site, an email address, a telephone number, etc."/> <min value="0"/> <max value="*"/> <isSummary value="true"/> </element>
In Forge, I handle this via a special preprocessing step that copies missing element types from snapshot to differential.
Is this difference by design?
Lloyd McKenzie (Jun 17 2016 at 12:45):
It was one of the items I sent to you. "id" was showing up after "extension".
Grahame Grieve (Jun 17 2016 at 13:21):
why do you copy types to the differentials?
Michel Rutten (Jun 17 2016 at 13:33):
@Grahame Grieve Forge needs the element type info in the differential, because of how the application logic is structured. So if the element type is missing from the differential, the application resolves it from the snapshot. This all works fine, but I was just wondering why element types are missing from the differential for Backbone elements in core resource definitions. Is this by design?
Grahame Grieve (Jun 17 2016 at 13:34):
I never populate the types in the differentials unless the user makes a change to the types
Michel Rutten (Jun 17 2016 at 13:45):
Naturally. But for core resource definitions, all the element definitions describe new elements (not constraints on base resource), so I would expect differential to be identical to snapshot (excluding elements inherited from Resource or DomainResource).
Michel Rutten (Jun 17 2016 at 13:46):
Conceptually, the core resource definitions introduce new elements. So I would expect the element definitions to be fully expanded in the differential.
Grahame Grieve (Jun 17 2016 at 14:04):
oh yes. you're right
Grahame Grieve (Jun 17 2016 at 14:05):
you're editing specializations in forge?
Michel Rutten (Jun 17 2016 at 14:11):
Yes, in Forge you create specializations. But internally Forge resolves the associated (core) base resource from profiles-resources.xml.
Michel Rutten (Jun 17 2016 at 14:14):
Anyway Forge doesn't strictly needs this, because it can resolve the missing type info from the snapshot. But it just seemed a bit strange/arbitrary to me that the differentials in profiles-resources.xml are missing element type info for backbone elements.
Last updated: Apr 12 2022 at 19:14 UTC