Skip to content

Releases: cqframework/cql-exec-vsac

2.2.0

Choose a tag to compare

@cmoesel cmoesel released this 18 Apr 17:45
fe7c19c

This version of CQL Execution VSAC introduces support for choosing how code systems retrieved using SVS are represented. In prior versions of CQL Exec VSAC, code system OIDs from SVS were always translated to their corresponding FHIR Code System URLs (when available). Starting in version 2.2.0, the ensureValueSetsWithAPIKey and ensureValueSetsInLibraryWithAPIKey functions take an additional options argument. This options argument supports a svsCodeSystemType key with the following values:

  • url: Convert OIDs to FHIR Code System URLs when possible (e.g., http://loinc.org). This is the default and corresponds with previous behavior.
  • oid: Retain OIDs as-is (e.g., urn:oid:2.16.840.1.113883.6.1)
  • both: Convert OIDs to FHIR Code System URLs and retain the original OIDs. While this is the most flexible, it is also the least performant due to tracking multiple representations of each code.

Note that these options only affect code systems retrieved via the SVS2 API. Code systems retrieved via the FHIR API will always use their respective FHIR Code System URLs.

Thank you, @SomethingSexy, for contributing this feature!

What's Changed

New Contributors

Full Changelog: v2.1.0...v2.2.0

2.1.0

Choose a tag to compare

@cmoesel cmoesel released this 16 Oct 19:42
7e3de6b

This version of CQL Execution VSAC contains two important changes:

SVS Authentication

SVS authentication now uses basic authentication instead of ticket-based authentication. NLM will remove support for ticket-based authentication in November 2023, so CQL Execution VSAC users should update to this version before then.

FHIR API Support

When constructing a CodeService, developers can choose between the SVS API and FHIR API. The SVS API remains the default approach. For more details, see the README.

What's Changed

Full Changelog: v2.0.2...v2.1.0

2.0.2

Choose a tag to compare

@cmoesel cmoesel released this 27 Apr 20:48

What's Changed

  • Use Node 16/18 and Setup GitHub Actions by @cmoesel in #26

This release adds CI and indicates a preference for Node 18.

Since these changes only affect developers of this package, and not downstream users of it, this is being released as a patch.

Full Changelog: v2.0.1...v2.0.2

2.0.1

Choose a tag to compare

@cmoesel cmoesel released this 11 Apr 16:13
8832486

What's Changed

Full Changelog: v2.0.0...v2.0.1

2.0.0

Choose a tag to compare

@cmoesel cmoesel released this 30 Nov 19:34

Version 2.0.0 is a new major release of cql-exec-vsac that should continue to work with most implementations using cql-exec-vsac 1.x. This release does not include any new features, but does include some breaking changes.

Breaking Changes

Removal of Deprecated Methods

The ensureValueSets and ensureValueSetsInLibrary methods have been removed from the module. These methods were already broken since NLM removed support for authenticating by username/password. The ensureValueSetsWithAPIKey and ensureValueSetsInLibraryWithAPIKey should be used instead.

Underlying HTTP Library Replacement

Version 1.x used request to perform HTTP operations. The request library is now deprecated and no longer maintained. As a result, version 2.0.0 has been updated to use node-fetch instead. While this change should be transparent in most cases, the run-time errors that are now thrown come from node-fetch instead of request, and so they have a different format.

Detailed Change List

  • Replace 'request-promise-native' library with 'node-fetch' by @oyisre in #20
  • Switch to NPM and Update Dependency Libraries by @cmoesel in #21
  • Rename lib to src and format using Prettier by @cmoesel in #22
  • Remove deprecated ensureValueSets and ensureValueSetsInLibrary methods by @cmoesel in #23

New Contributors

Full Changelog: v1.2.2...v2.0.0

1.2.2

Choose a tag to compare

@cmoesel cmoesel released this 15 Feb 16:59
1750a39

Version 1.2.2 is patch release that updates its dependencies to address known vulnerabilities. This is not expacted to have any impact on the behavior of the library.

1.2.1

Choose a tag to compare

@cmoesel cmoesel released this 04 Mar 21:24

Version 1.2.1 simply re-specifies its dependency on cql-execution to be >=1.2.0, allowing for recent 1.x and 2.x versions of cql-execution. This is not expected to result in any tangible changes except reduction of NPM warnings when installing it with cql-execution 2.x versions.

1.2.0

Choose a tag to compare

@cmoesel cmoesel released this 22 Oct 19:49

Version 1.2.0 adds support for authenticating to VSAC using a UMLS API key. Starting January 1, the VSAC service that this library uses will only support authentication via UMLS API key. Until then, you can authenticate using username/password or API key.

The following functions have been added to the CodeService class:

If you use environment variables to pass your credentials, use the UMLS_API_KEY environment variable to pass your API key credentials.

1.1.1

Choose a tag to compare

@cmoesel cmoesel released this 05 Jun 17:26
8f71e15

Version 1.1.1 adds support for downloading version-specific Value Set content. Prior to this version, cql-exec-vsac ignored the version when downloading value sets from VSAC. This was, obviously, wrong.

1.1.0

Choose a tag to compare

@cmoesel cmoesel released this 24 Apr 14:48

Version 1.1.0 introduces the following changes:

Optionally Disable File Cache

ensureValueSets and ensureValueSetsInLibrary now accept a caching argument that allows callers to disable caching value sets to a file. This option provides better support for client-side web applications.

For example:

codeService.ensureValueSetsInLibrary(library, true, 'myUMLSUserName', 'myUMLSPassword', false /*no caching*/)

Support URN and URL Identifiers

findValueSet, findValueSets, and findValueSetsByOid now all accept ids that are OIDs, URNs, or valid VSAC FHIR URLs. For example, all of the following are supported now:

valueset "Diabetes": '2.16.840.1.113883.3.464.1003.103.12.1001'

or

valueset "Diabetes": 'urn:oid:2.16.840.1.113883.3.464.1003.103.12.1001'

or

valueset "Diabetes": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.103.12.1001'

Previous versions only supported the first case (OID).

NOTE: The findValueSetsByOid function was kept for backwards-compatibility, but it now works exactly the same as the more appropriately named findValueSets function.