FHIR Chat · SUSHI 2.0.0 · shorthand

Stream: shorthand

Topic: SUSHI 2.0.0


view this post on Zulip Julian Carter (Aug 10 2021 at 18:59):

Introducing SUSHI 2.0.0! This release marks the end of the 2.0.0 beta phase; fully supporting the FHIR Shorthand v1.2.0 spec and introducing several new features, bug fixes, and breaking changes.

This release includes the following major features:

  • Rule indentation for succinct specification of subpaths
  • Logical models and custom resources
  • Hierarchical CodeSystems and concept-specific caret rules
  • Option to output preprocessed FSH
  • Extensions for representing elements from other versions of FHIR
  • Extension for profiling BackboneElements
  • Insert rules with paths
  • Specifying warnings to ignore during processing
  • Support for mapping rules within rulesets

This release also includes the following breaking changes:

  • Indent rules make whitespace before * significant.
  • Support for deprecated syntax has been removed (the Mixins keyword, units keyword, as well as , and | separators)
  • Support for limited ValueSet expansion has been removed
  • Support for deprecated pre-SUSHI 1.0 project structures has been removed

To install or update to this new version, run the following command:

$ npm install -g fsh-sushi

See the SUSHI 2.0.0 Release Notes for more information.

view this post on Zulip Jean Duteau (Aug 10 2021 at 19:07):

Fantastic work by the SUSHI and FSH team! I do have a question/concern and it mostly relates to the integration of SUSHI with the CI IG publisher build framework. I'm unsure how the build gets the SUSHI, but I thought that did a npm install from scratch each time. That would appear to me that the CI builds will be using SUSHI 2.0.0? If that's true, then some of the breaking changes might affect our guides. I don't see any of the breaking changes affecting me but I'm raising this in case others might need to know.

view this post on Zulip Julian Carter (Aug 10 2021 at 19:13):

Yes, the IG Publisher will now use SUSHI 2.0.0 by default. This can be prevented by placing a fsh.ini file in the root directory of your project and placing the following in that file:

[FSH]
sushi-version=[insert previous version number here]

This will force the IG Publisher to use whatever version of SUSHI that you specified!

view this post on Zulip Chris Moesel (Aug 17 2021 at 17:23):

Also, the FSH team did regression tests against all FSH repos it could find (in GitHub/HL7 and all IGs registered w/ the autobuild system) -- and then submitted GitHub issues against every project that had a regression due to breaking changes in SUSHI 2.0.0. We did this many weeks ago, so hopefully this does not come as a surprise to anyone.

view this post on Zulip Patrick Werner (Aug 18 2021 at 14:10):

Hi, one question. Where is the documentation for the fsh.ini? Couldn't find it.
We have an IG with very large CodeSystems, timing out exectly after 5 minutes in the IG builder.

view this post on Zulip Patrick Werner (Aug 18 2021 at 14:10):

I found a thread Grahame mentioning increasing timout time for the builder in fsh.ini

view this post on Zulip Patrick Werner (Aug 18 2021 at 14:11):

But no information on how to do this..

view this post on Zulip David Pyke (Aug 18 2021 at 14:12):

[FSH]
timeout=600

view this post on Zulip David Pyke (Aug 18 2021 at 14:12):

That's in seconds

view this post on Zulip Patrick Werner (Aug 18 2021 at 14:14):

Thanks David! Is this documented somewhere?

view this post on Zulip David Pyke (Aug 18 2021 at 14:17):

Not that I'm aware of. @Chris Moesel ?

view this post on Zulip David Pyke (Aug 18 2021 at 14:19):

Wait, I'm wrong, It's here: https://fshschool.org/docs/sushi/running/ in a Tip box.

view this post on Zulip David Pyke (Aug 18 2021 at 14:19):

Might be worth adding to the "Configuration" page

view this post on Zulip Chris Moesel (Aug 18 2021 at 14:25):

Since this is an implementation detail, the fsh.ini file is not documented in the FSH spec itself, but it is documented in a Tip in the SUSHI documentation on FSH School here: https://fshschool.org/docs/sushi/running/#running-the-ig-publisher

view this post on Zulip Chris Moesel (Aug 18 2021 at 14:25):

Whoops. Was replying based on a notification and didn't notice that @David Pyke had already found it. Thanks, David!

view this post on Zulip Patrick Werner (Aug 18 2021 at 14:28):

Thanks @David Pyke @Chris Moesel
Google was not able to find this for some reason.

view this post on Zulip Greg Hunt (Aug 18 2021 at 17:52):

Are there any good examples of a Mapping with FHIR Shorthand

view this post on Zulip Greg Hunt (Aug 18 2021 at 17:56):

I am looking to setup mapping with a legacy file format and want to show the field level mapping in the IG, but I am getting hung up on setting up the Mapping

view this post on Zulip Chris Moesel (Aug 18 2021 at 19:23):

@Greg Hunt - I'm not aware of any good examples aside from the one simple example in the spec here: http://build.fhir.org/ig/HL7/fhir-shorthand/reference.html#defining-mappings

You could look at other IGs that declare mappings to see how they used mappings -- but unfortunately it is often obscured. I don't think that the IG Publisher renders the mappings (at least it doesn't seem that it has for US Core) -- so at that point you're having to look in the StructureDefinition JSON or XML source to see the mappings. Which is also something to consider since you said that you "want to show the field level mapping in the IG". As far as I know, if you want that to be surfaced in the user-facing documentation, you might have to manually author your own pages w/ that information. @Lloyd McKenzie -- is there any way to programmatically render SD mappings in an IG?

There is also StructureMap but that is an entirely different beast.

view this post on Zulip Grahame Grieve (Aug 18 2021 at 21:21):

if they're not being shown, that's because the template isn't including them. The fragments include the mappings

view this post on Zulip Lloyd McKenzie (Aug 18 2021 at 22:02):

The template includes a mappings tab. I'm seeing them, for example here: file:///C:/Users/lloyd/Documents/SVN/_IGs/sdc/output/StructureDefinition-sdc-questionnaire-mappings.html

view this post on Zulip Lloyd McKenzie (Aug 18 2021 at 22:04):

I think there's a mechanism to turn off some of the mapping sources if you don't want, but it's possible I'm remembering a proposed rather than implemented requirement. However, if you're using the default template, all mappings including those inherited from the base spec should show up.

view this post on Zulip Chris Moesel (Aug 19 2021 at 12:14):

Awesome. I looked at US Core 4.0.0 because I knew they had argonaut mappings in their SDs -- but there weren't any rendered mappings in the IG that I could find. I guess they must have used a different template or turned them off. Thank you for correcting and clarifying.

view this post on Zulip Elliot Silver (Aug 26 2021 at 01:41):

For "concept-specific caret rules", how can I distinguish properties for two concepts with the same code value, but different systems? It looks like caret-path rules are only differentiated by code value.

view this post on Zulip Chris Moesel (Aug 26 2021 at 12:39):

@Elliot Silver - concept-specific caret rules only apply to CodeSystem definitions. So... all of the codes in any given CodeSystem definition are always from a single system. If I've misunderstood your question, could you rephrase it?

view this post on Zulip Elliot Silver (Aug 26 2021 at 14:31):

Nope, you got it, I missed that part and thought it applied to valuesets.


Last updated: Apr 12 2022 at 19:14 UTC