Releases: cqframework/cql-execution
2.1.0
CQL Execution 2.1.0 introduces the following features:
Support for evaluatedRecords
from retrieves
The Context
class and returned Results
now contain an evaluatedRecords
array. The evaluatedRecords
array contains every record that was processed in a retrieve during execution of the CQL. When a retrieve occurs, the resulting records are added to the evaluatedRecords
array on the Context
. When reporting the results, the evaluatedRecords
for all library contexts are aggregated together into one array and added to the Results
object. This functionality allows eCQM-focused use cases to see which records were processed by the engine, and report those back to the caller.
CQL Execution 2.x Releases
CQL 2.0.0 introduced a new JavaScript code base and several new features. If you have not read the CQL Execution 2.0.0 Release Notes, we recommend you do so.
2.0.0 (JavaScript Release)
Overview
CQL Execution 2.0.0 is a brand new JavaScript port of CQL Execution, implementing the CQL 1.4.x specification. While previous versions were released as JavaScript modules, they were authored using CoffeeScript. CQL Exectuon 2.0.0 is authored using modern editions of JavaScript.
New Features
CQL Execution 2.0.0 also introduces support for significant CQL features that CQL Execution 1.4.x did not support; namely:
- support for the
is
operator - support for the
as
operator - support for overloaded functions
To take advantage of these new features, PatientSource
implementations need to implement _is
and _typeHierarchy
functions on the objects they return to the CQL Execution framework. For examples, see the sample PatientSource and cql-exec-fhir's PatientSource.
Backward Compatibility
CQL Execution 2.0.0 is intended to be primarily backward compatible w/ the CQL Execution 1.4.x releases, but we've chosen to tag it as a 2.x released because:
- we are changing our versioning scheme to use semantic versioning for all future releases
- we want to signal that a full rewrite of the source code inherently carries risk that consumers need to consider
The one exception to backward compatibility is that CQL Execution 2.0.0 replaced the old sample FHIR PatientSource with a simpler sample PatientSource. We hope that consumers were not using the former FHIR PatientSource anyway, as it was incomplete and based on a very old unreleased version of FHIR. Consumers of this library who require support for FHIR should use the much more complete and up-to-date cql-exec-fhir module.
Installation
This is a major update of CQL Execution. To install it in your project, we recommend one of the following commands:
- YARN:
yarn add cql-execution@^2.0.0
- NPM:
npm install cql-execution@^2.0.0 --save
If you are using cql-exec-fhir
, you will also want to install its 1.5.0 release:
- YARN:
yarn add cql-exec-fhir@^1.5.0
- NPM:
npm install cql-exec-fhir@^1.5.0 --save
2.0.0 Beta 2 (JavaScript Release)
The cql-execution 2.0.0-beta.2 release includes one bug fix:
- dependency libraries now properly use passed in parameter values even if a default value was declared in the main library
The previous cql-execution 2.0.0-beta.1 release represented a major update to cql-execution. Please see the cql-execution 2.0.0-beta.1 release notes for the full description of all changes in cql-execution 2.0.0.
2.0.0 Beta 1 (JavaScript Release)
Overview
CQL Execution 2.0.0 Beta 1 is the first beta of the brand new JavaScript port of CQL Execution, implementing the CQL 1.4.x specification. While previous versions were released as JavaScript modules, they were authored using CoffeeScript. CQL Exectuon 2.0.0 is authored using modern editions of JavaScript.
New Features
CQL Execution 2.0.0 also introduces support for significant CQL features that CQL Execution 1.4.x did not support; namely:
- support for the
is
operator - support for the
as
operator - support for overloaded functions
To take advantage of these new features, PatientSource
implementations need to implement _is
and _typeHierarchy
functions on the objects they return to the CQL Execution framework. For examples, see the sample PatientSource and cql-exec-fhir's PatientSource.
Backward Compatibility
CQL Execution 2.0.0 is intended to be primarily backward compatible w/ the CQL Execution 1.4.x releases, but we've chosen to tag it as a 2.x released because:
- we are changing our versioning scheme to use semantic versioning for all future releases
- we want to signal that a full rewrite of the source code inherently carries risk that consumers need to consider
The one exception to backward compatibility is that CQL Execution 2.0.0 replaced the old sample FHIR PatientSource with a simpler sample PatientSource. We hope that consumers were not using the former FHIR PatientSource anyway, as it was incomplete and based on a very old unreleased version of FHIR. Consumers of this library who require support for FHIR should use the much more complete and up-to-date cql-exec-fhir module.
Installation
This is a beta version of CQL Execution. To install it in your project, you can use one of the following commands:
- YARN:
yarn add cql-execution@beta
oryarn add cql-execution@2.0.0-beta.1
- NPM:
npm install cql-execution@beta
ornpm install cql-execution@2.0.0-beta.1
If you are using cql-exec-fhir
, you will also want to install its 1.5.0-beta.1 release:
- YARN:
yarn add cql-exec-fhir@beta
oryarn add cql-exec-fhir@1.5.0-beta.1
- NPM:
npm install cql-exec-fhir@beta
ornpm install cql-exec-fhir@1.5.0-beta.1