SUSHI 2.4.0
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 inValueSet
s (#1039) - Now constrains the
Reference
type when using theReference()
keyword on an R4B/R5 element that supportsReference
andCodeableReference
(#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 adiv
tag (#305) - Warns when properties specific to IG creation are included in
sushi-config.yaml
when SUSHI is run inFSHOnly
mode (#1051) - Provides a more detailed error message when an attempt is made to add a top-level
Extension
to aBundle
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