Skip to content

SUSHI 2.4.0

Compare
Choose a tag to compare
@julianxcarter julianxcarter released this 25 Apr 21:12
· 228 commits to master since this release
43e8d24

SUSHI 2.4.0 includes the following enhancements and bug fixes:

  • Allows contentReference elements to be defined on Logical Models and custom Resources (#1009) (details below)
  • Fixes choice type rule paths in Instance assignment rules to use the type specific path (#1032) (details below)
  • Alerts users when a new version of SUSHI is available (#969)
  • Fixes support for HTTPS proxies (using https_proxy environment variable) (#1045)
  • Loads predefined resources in subfolders of existing supported input folders when implicated by the path-resource parameter (#1037)
  • Allows concepts added to a CodeSystem via caret rules (e.g., ^) to be included in ValueSets (#1039)
  • Now constrains the Reference type when using the Reference() keyword on an R4B/R5 element that supports Reference and CodeableReference (#1044)
  • Fixes an issue where assigning a Reference value on an element would wipe out other values already present on the element (#1058)
  • Fixes cardinality validation on choice element slices containing extensions (#1021)
  • No longer warns for an invalid name or id on a resource when a caret rule on the same resource sets a valid name or id (#1024)
  • Warns when an xhtml div element does not start and end with a div tag (#305)
  • Warns when properties specific to IG creation are included in sushi-config.yaml when SUSHI is run in FSHOnly mode (#1051)
  • Provides a more detailed error message when an attempt is made to add a top-level Extension to a Bundle resource (#1020)

Support for contentReference elements on Logical Models and custom Resources

Elements of type contentReference are now supported in AddElementRules by way of the contentReference keyword. To define an element of type contentReference simply include contentReference <url-to-referenced-element> in the AddElementRule where the type would typically go. E.g. the final AddElementRule will create an element nameReference that is a contentReference to the element found at http://example.org/StructureDefinition/PatientExample#Patient.name.

* section.section 0..1 contentReference http://example.org/StructureDefinition/Report#Report.section "A sub-section"

Updating choice element paths to be type-specific

When assigning values to choice elements on an Instance, type-specific elements should always be used in the rules. In cases where an author specifies a choice element in an instance (e.g., value[x]), SUSHI will change the path to refer to the type-specific element if the choice is constrained to a single type. E.g. The final assignment rule on the following example will be read as * valueBoolean = true as the Instance is exported. Authors, however, should avoid using this construct in instances and should always prefer using type-specific elements to begin with.

Profile: BooleanObservation
Parent: Observation
* value[x] only boolean

Instance: MyObservation
InstanceOf: BooleanObservation
* status = #final
* code = http://example#somecode
* value[x] = true

Full Documentation

For additional documentation, refer to FSH School's SUSHI documentation and/or the FSH Specification.

Install or Update

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

$ npm install -g fsh-sushi

To revert to a previous release, run a command like the following:

$ npm install -g [email protected]

To check or confirm what version of SUSHI you have installed, you can run the following command:

$ sushi -v