Releases: cqframework/cql-exec-vsac
2.2.0
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
- Add configuration to support including both uri and oid when parsing valuesets by @SomethingSexy in #31
- v2.2.0 by @cmoesel in #33
New Contributors
- @SomethingSexy made their first contribution in #31
Full Changelog: v2.1.0...v2.2.0
2.1.0
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
- Use BasicAuth instead of TGT authentication by @cmoesel in #27
- Support for VSAC FHIR API by @cmoesel in #28
- v2.1.0 by @cmoesel in #29
Full Changelog: v2.0.2...v2.1.0
2.0.2
What's Changed
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
2.0.0
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
1.2.1
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
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:
- ensureValueSetsWithAPIKey(valueSetList = [], umlsAPIKey = env['UMLS_API_KEY'], caching = true)
- ensureValueSetsInLibraryWithAPIKey(library, checkIncluded = true, umlsAPIKey = env['UMLS_API_KEY'], caching = true)
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
1.1.0
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.