Skip to content
This repository has been archived by the owner on Oct 17, 2019. It is now read-only.

Releases: standardhealth/shr-cli


20 Sep 21:02
Choose a tag to compare

Version 6.8.0 includes the following changes:

  • New logging format that is easier to read and contains suggestions to fix common errors.
  • Authors can now fix date, dateTime, instant, and time values.
  • Improved SearchParameters page in FHIR IGs (w/ param code, resource, type, and description).
  • New top-level Examples page in FHIR IGs that lists all examples in the IG w/ their resource type and profile.
  • The shr.base.Entry class is no longer required. Support for entry properties (ids and types) is now built in.
  • CIMCORE JSON output has been deprecated.
  • Bug fixes

New Logging Format

The new logging format displays logs and their metadata in a more structured, easier-to-read format. In addition, when a suggested fix is available, it will be displayed to the user.


If users wish to reduce the number of logs shown, the -d or --deduplicate flag can be used to suppress errors when the same error has occurred more than 10 times.


Fixing date, dateTime, instant, and time values

Fixing date, dateTime, instant, and time values is done the same way as fixing string values. For example:

Element:    DateElement
Value:      date = "1996-11-22"

The format of the date/dateTime/instant/time must follow the formats defined by FHIR here.

Improved SearchParameters page and new Examples page

Users do not need to do anything additional to get the improved SearchParameters page or the new Examples page. As long as their IG contains SearchParameter definitions and/or examples (and the config points to them), these pages will be automatically generated.

Search Parameters




Removal of shr.base.Entry

Prior versions of the SHR CLI required a shr.base.Entry class to be defined. This is no longer necessary. If possible, users should remove the shr.base.Entry definition (and the corresponding ShrId, EntryId, and EntryType definitions) if they do not reference them elsewhere.

This results in changes to the output of the JSON Schema exporter and ES6 class generator. The JSON schemas use a new builtin schema definition called Entry. The ES6 classes use a new built-in class called EntryInfo -- and the shrId, entryId, and entryType properties have been simplified to be strings.


04 Sep 05:15
Choose a tag to compare

Version 6.7.0 adds the following fixes and features:

  • Filtering and Primary Profile selection should now be specified in ContentProfile (CP) -- see below for details
  • Namespaces now support the NP (No Profile) tag
  • Export for FHIR R4 logical models
  • IG Downloads page now contains a link for the full IG specification
  • Support for displaying more fixed values in the model doc
  • Enhancements to the data dictionary (see shr-data-dict-export v6.2.0)
  • showPrimaryOnly flag added to configuration file. This flag is on the implementationGuide object. The flag defaults to false. When set to true, only primary profiles (not supporting profiles) are listed on the Profiles tab of the IG.

The content profile will only be used for filtering and primary profile selection if no filterStrategy and no primarySelectionStrategy are specified in the configuration file. In this case, any data element named in the content profile will not be filtered out, and will be selected as a primary profile, unless that profile is marked as "No Profile" by the NP flag. Additionally, * can be used to flag an entire namespace as primary profiles, and NP can be used at the namespace level to signal that an entire namespace should be marked as "No Profile".

Grammar: ContentProfile 1.0

Namespace: shr.core
    Patient:    // Patient is named and not otherwise flagged as NP, it will be a primary profile
        Person.DateOfBirth MS
    Practitioner: NP    // Practitioner will be marked as "No Profile", it will not generate a FHIR profile
Namespace: obf.dataype NP   // The entire obf.datatype namespace will be marked as "No Profile"

Namespace: oncocore * // The * flag is used for oncocore, everything in this namespace will be a primary profile
    // ... more ...


20 Aug 17:09
Choose a tag to compare

Version 6.6.0 includes the following changes:

-Adds a --clean flag to the CLI that clears the output directory on running the CLI and archives the previous output directory.
-Updates the HL7 logo to the latest version of the image.
-Fixes an error that prevented ctrl-c from being used to exit the CLI.

  • Example showing format of 'No Profile' flags
    Grammar: ContentProfile 1.0
    Namespace: obf
            BirthDate MS
        Encounter: NP
        EpisodeOfCare: NP
        // Encounter and EpisodeOfCare have `No Profile` (NP) flag
        // No FHIR profile will be generated for either

-Adds class filtering to the model doc.


30 Jul 15:25
Choose a tag to compare

Version 6.5.0 introduces the following changes:

  • adds support for fixing integers, decimals, and uris in CIMPL definitions
  • fixes FHIR export bug that erroneously dropped inherited constraints from mapped-to profiles
  • emits error if attempting to fix a code on a CodeableConcept that already has a fixed code in the mapped-to profile
  • improves detection of fixed codes in mapped-to profiles
  • allows authors to specify a slice # to indicate an includes type slice should map to a specific slice in the mapped-to profile.
    • Example:
    BloodPressure maps to
    Components.SystolicPressure maps to component (slice # = 1)
    Components.DiastolicPressure maps to component (slice # = 2)


25 Jul 15:54
Choose a tag to compare

Version 6.4.0 adds the following features:

  • support for fixing properties and values to fixed strings
    • e.g., Dosage.InstructionText = "Take Daily" (not a great example, but conveys the point)
  • expects Quantity to be in obf.datatype namespace (but supports backwards compatibility for shr.core namespace)
  • shows extension usage on extension pages in FHIR IGs
  • removes profile identifier from root snapshot/differential ids (addresses issue reported in standardhealth/shr-cli#221)
  • demotes some errors to lower levels
  • fixes a crash due to trying to dereference a null pointer in some cases
  • upgrades to the latest IG Publisher jar


17 Jul 14:15
Choose a tag to compare

Version 6.3.0 reports type enforcement errors to ensure authors are using CIMPL types correctly. The following rules are checked and an error is reported if they are violated:

  • An Entry's parent must be an Entry or Abstract
  • An Element's parent must be an Element
  • A Group's parent must be a Group
  • An Abstract's parent must be an Abstract
  • An Element can only declare or constrain a Value; it cannot declare or constrain Propertys
  • An Element cannot redeclare a Value if it has a parent; it must constrain Value instead
  • A non-Element can only declare or constrain Propertys; it cannot declare or constraint Values

Note that when you upgrade to 6.3.0, you may notice a number of new errors being reported -- as some specs were not following these rules yet. Despite the errors being reported, processing will continue as before; processing is not halted or modified when these errors are encountered.


15 Jul 16:18
Choose a tag to compare

Version 6.2.2 introduces the following changes:

  • Removes identifier from profiles and extensions when creating the IG resources
    • This is needed for code generation, but not for IGs (and causes IG Publisher errors)
  • Fix broken references to non-existent profiles
    • In some cases, references pointed to profiles that had been mapped using (no profile), so they actually did not exist. Now the references point to the base definition.


21 Jun 18:35
Choose a tag to compare

Version 6.2.1 contains the following changes to the FHIR exporter:

  • Use SHR descriptions in short and definition fields for FHIR elements mapped from CIMPL elements with "substitute" constraints
  • Add description to the short field for slices
  • Update US Core for R4 to the official US Core 3.0.0 release
  • Update HL7 IG Publisher to version 0.9.39-SNAPSHOT - Built 2019-06-20T08:22:24.935+10:00 - Git eb802cf4c5d3


20 Jun 20:33
Choose a tag to compare

Version 5.21.1 updates the following dependencies of FHIR export:

  • US Core for R4 is updated to the official US Core 3.0.0 release
  • HL7 IG Publisher is updated to version 0.9.39-SNAPSHOT - Built 2019-06-20T08:22:24.935+10:00 - Git eb802cf4c5d3


17 Jun 19:27
Choose a tag to compare

The 6.2.0 release adds the following updates to the FHIR Exporter:

  • Better support for HL7 FHIR IG Publication Checklist
    • Re-enables yellow publish box in IG
    • New ballotStatus config value that affects IG header display
    • Fixed display of publishing WG in footer
    • Fixed copyright in footer
    • Added links in footer for home, qa, history, license, propose changes
  • Support for including externally-defined SearchParameter, OperationDefinition, CapabilityStatement, and Conformance resources
    • Adds them to the IG source so that the IG Publisher processes them
    • Adds links in the menu as needed
    • See README for details