Stream: implementers
Topic: Forge 16.4 for STU3
Michel Rutten (Aug 01 2017 at 15:53):
Forge 16.4 for STU3 is now available for download from https://simplifier.net/forge.
This new release represents a minor update with a number of FHIR compatibility fixes and some UI improvements.
Users of earlier STU3 releases are advised to upgrade to the new version.
Highlights:
-
Update the FHIR .NET API library (https://github.com/ewoutkramer/fhir-net-api) to 0.93.5-beta2.
Includes bug fixes for the snapshot generator and element id generator. -
Support the ElementDefinition.type.versioning property.
This property was introduced by STU3 and is now supported by Forge. -
Improved support for (complex) element type profiles.
Fix invalid validation warnings concerning element type (target) profiles.
Forge now re-expands child elements when the type.profile property has changed.
Changes in the type.targetProfile property no longer trigger re-expansion. -
Improved support for choice type elements.
Properly rename type choice elements that are a child of a named slice. -
Support constraints on inherited slice entry.
Forge no longer generates (unjustified) validation warnings when a derived profile further constrains the slice entry inherited from a base profile. -
Named slices do NOT inherit minimum cardinality from base profile.
Instead, named slices always have a default minimum cardinality of 0.
This ensures that a profile can always introduce one or more optional slicing constraints. -
Fix invalid change tracking in derived profiles.
In some circumstances (specifically when deriving from a sliced profile), the previous release could determine some
invalid relationships to elements in the base profile. This would break change tracking; some existing profiling constraints
would not be marked with a yellow pen and would be excluded from the serialized output. This has been fixed. -
Restore editing of ElementDefinition.comment properties.
Fix broken edit controls for the .comment property. -
Serialized output now always includes the StructureDefinition.derivation property.
- Structure elements now also provide a context menu, as an alternative for the toolbar.
- Header bar now also displays an image link to http://simplifier.net
- Improved memory cache invalidation.
When (re-)loading a profile, Forge should now tries to open the most recently saved version.
Happy profiling!
Michel Rutten
John Moehrke (Aug 01 2017 at 16:01):
When I open my projects from (Forge 16.1) It gives errors on ALL of the FHIR STU3 things... Did I not do some initialization that I should have?
Rick Geimer (Aug 01 2017 at 16:37):
Hi Michel. Just downloaded the new Forge. Definitely fixed some bugs, but still unable to get derived profiles running in the IG publisher without hand tweaks to the XML. For example telecom.system is removed from the first contact, and the first item in the differential is removed. For example, Forge will remove the following and the IG publisher won't run until I add it back in. :
<element id="Composition">
<path value="Composition" />
</element>
Glad to point you to examples or get on a gotomeeting at some point to show the issues.
Michel Rutten (Aug 01 2017 at 16:43):
Hi @Rick Geimer, thank you for the feedback! I'd definitely like to iron out these bugs. It would be very helpful if you can send me some example profiles and steps to reproduce issues, so I can investigate.
Michel Rutten (Aug 01 2017 at 16:44):
BTW There's always more bugs to be found, but I didn't want to postpone the release any longer.
Rick Geimer (Aug 01 2017 at 18:39):
@Michel Rutten Emailed you the bug report and example files.
Sufyan Patel (Aug 02 2017 at 08:52):
Downloaded and installed '16.4' but upon opening Forge, it still states 16.1. Do I need to uninstall 16.1?
Michel Rutten (Aug 02 2017 at 08:57):
Hi @Sufyan Patel, the new release displays "16.4" in the title bar. If you see anything else, then you're still running an older version.
Alternatively, you could manually uninstall the current version, then re-install the new release.
Michel Rutten (Aug 02 2017 at 09:22):
@Rick Geimer thank you for the feedback, I received your e-mail. I'll investigate the issue right away.
Michel Rutten (Aug 02 2017 at 10:09):
@Rick Geimer interesting example!
Forge omits the root element definition from the diff, as it is unconstrained and therefore redundant. The IG validation warning seem to be the result of an incorrect FHIR path expression, as in STU3, the root element definition may be omitted from the diff if it is unconstrained.
However the disappearing global telecom data points to an issue in the .NET snapshot generator. Currently, the snapshot generator re-uses the same logic used to merge diff & snapshot for merging global metadata. However I think we need to implement different semantics for aggregating global metadata. E.g. some metadata such as contact information probably only applies to the defining profile and should not be inherited by derived profiles.
Michel Rutten (Aug 02 2017 at 15:34):
@Rick Geimer I've managed to fix the issue in Forge. You should recieve an invitation e-mail for a DropBox folder with updated Forge binaries, for testing and evaluation purposes.
Rob Eastwood (Aug 10 2017 at 22:32):
Forge omits the root element definition from the diff, as it is unconstrained and therefore redundant. The IG validation warning seem to be the result of an incorrect FHIR path expression, as in STU3, the root element definition may be omitted from the diff if it is unconstrained.
Hello @Michel Rutten - in case it is not already known, I'd just mention another consequence of the missing root element, as mentioned above. A profile without the root element in the differential, when run through the IG Publisher, causes the rendered html to only show the first constraint added and no others.
I'd be happy to extrapolate should that be needed/helpful.
FYI- running 16.4.1 Forge and a quite recent IG Publisher from current build (v3.1.0-12288). Thanks
Grahame Grieve (Aug 10 2017 at 22:46):
this is a bug in the IG publisher that has recently reappeared and I will get to as soon as I can
Rob Eastwood (Aug 11 2017 at 00:29):
Thanks @Grahame Grieve
Michel Rutten (Aug 11 2017 at 08:43):
Hi @Rob Eastwood, in STU3 the root element is no longer required in the differential. In practice, I can image that some tools can't handle this (yet). I'm expecting all FHIR tools to eventually support this. So for now, I'll maintain the current behavior in Forge. However if it turns out that this remains an issue for the community, I could implement a configuration option in Forge to always include the root element in the diff output.
Rob Eastwood (Aug 14 2017 at 01:36):
Thanks @Michel Rutten - sounds good to leave it as is, given that Grahame will address this in the IG Publisher.
Last updated: Apr 12 2022 at 19:14 UTC