Skip to content

Releases: cqframework/cql-execution

2.1.0

09 Dec 20:03
Compare
Choose a tag to compare

CQL Execution 2.1.0 introduces the following features:

  • Support for evaluatedRecords from retrieves (#151)
  • Support for LastPositionOf operator (#147)

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)

03 Dec 22:06
Compare
Choose a tag to compare

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)

19 Nov 21:20
Compare
Choose a tag to compare
Pre-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)

09 Oct 15:44
Compare
Choose a tag to compare
Pre-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 or yarn add cql-execution@2.0.0-beta.1
  • NPM: npm install cql-execution@beta or npm 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 or yarn add cql-exec-fhir@1.5.0-beta.1
  • NPM: npm install cql-exec-fhir@beta or npm install cql-exec-fhir@1.5.0-beta.1

1.4.5

09 Sep 22:16
Compare
Choose a tag to compare

Version 1.4.5 contains the following changes:

  • Fixes bug related to processing empty tuples (e.g., {:})
  • Fixes calls to exec that should have been execute in order to track coverage

1.4.4

20 Aug 19:53
Compare
Choose a tag to compare

Version 1.4.4 contains the following changes:

  • Updates to dependency libraries to address security vulnerabilities

1.4.3

02 Jul 16:08
21ef045
Compare
Choose a tag to compare

Version 1.4.3 contains the following changes:

  • Fixes quantity sorting bug
  • Minor performance improvement on some date-based operations
  • Updates to dependency libraries to address security vulnerabilities

1.3.8

03 Mar 15:53
Compare
Choose a tag to compare

Version 1.3.8 contains the following changes:

  • fixes a bug in the implementation of Interval.contains

1.4.2

07 Feb 20:25
e76f3aa
Compare
Choose a tag to compare

Version 1.4.2 contains the following changes:

  • adds support for the $this keyword in queries
  • fixes a bug in the implementation of Interval.contains
  • fixes potential issues from using mixed versions of cql-execution in the same project

1.3.7

16 Dec 16:20
Compare
Choose a tag to compare

Version 1.3.7 adds support for the $this keyword in queries.