SUSHI 2.4.0 includes the following enhancements and bug fixes:
- Allows
contentReferenceelements 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_proxyenvironment variable) (#1045) - Loads predefined resources in subfolders of existing supported input folders when implicated by the
path-resourceparameter (#1037) - Allows concepts added to a
CodeSystemvia caret rules (e.g.,^) to be included inValueSets (#1039) - Now constrains the
Referencetype when using theReference()keyword on an R4B/R5 element that supportsReferenceandCodeableReference(#1044) - Fixes an issue where assigning a
Referencevalue 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
xhtmldiv element does not start and end with adivtag (#305) - Warns when properties specific to IG creation are included in
sushi-config.yamlwhen SUSHI is run inFSHOnlymode (#1051) - Provides a more detailed error message when an attempt is made to add a top-level
Extensionto aBundleresource (#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-sushiTo revert to a previous release, run a command like the following:
$ npm install -g fsh-sushi@2.3.0To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v