FHIR Chat · Differential and Snapshot view differences · conformance

Stream: conformance

Topic: Differential and Snapshot view differences


view this post on Zulip 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?

view this post on Zulip 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 ...)

view this post on Zulip 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.

view this post on Zulip 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.

view this post on Zulip Brian Postlethwaite (Jun 16 2016 at 06:38):

Can't help there unfortunately.

view this post on Zulip Grahame Grieve (Jun 16 2016 at 06:39):

is this anywhere I can run it?

view this post on Zulip 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.

view this post on Zulip 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?

view this post on Zulip Grahame Grieve (Jun 17 2016 at 10:07):

It was the dfferential that was out of order

view this post on Zulip 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.

view this post on Zulip 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

view this post on Zulip Grahame Grieve (Jun 17 2016 at 10:56):

but Keith is not using forge anyway

view this post on Zulip Michel Rutten (Jun 17 2016 at 10:57):

@Lloyd McKenzie do you know how to reproduce this issue?

view this post on Zulip 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?

view this post on Zulip Lloyd McKenzie (Jun 17 2016 at 12:45):

It was one of the items I sent to you. "id" was showing up after "extension".

view this post on Zulip Grahame Grieve (Jun 17 2016 at 13:21):

why do you copy types to the differentials?

view this post on Zulip 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?

view this post on Zulip 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

view this post on Zulip 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).

view this post on Zulip 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.

view this post on Zulip Grahame Grieve (Jun 17 2016 at 14:04):

oh yes. you're right

view this post on Zulip Grahame Grieve (Jun 17 2016 at 14:05):

you're editing specializations in forge?

view this post on Zulip 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.

view this post on Zulip 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