Skip to content

Releases: cqframework/cql-exec-vsac

2.2.0

18 Apr 17:45
fe7c19c
Compare
Choose a tag to compare

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

16 Oct 19:42
7e3de6b
Compare
Choose a tag to compare

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

27 Apr 20:48
Compare
Choose a tag to compare

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

11 Apr 16:13
8832486
Compare
Choose a tag to compare

What's Changed

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

2.0.0

30 Nov 19:34
Compare
Choose a tag to compare

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

15 Feb 16:59
1750a39
Compare
Choose a tag to compare

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

04 Mar 21:24
Compare
Choose a tag to compare

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

22 Oct 19:49
Compare
Choose a tag to compare

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

05 Jun 17:26
8f71e15
Compare
Choose a tag to compare

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

24 Apr 14:48
Compare
Choose a tag to compare

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.