Skip to content

3.0.0 Beta 3

Pre-release
Pre-release
Compare
Choose a tag to compare
@cmoesel cmoesel released this 17 Jan 19:56
· 16 commits to master since this release

What's Changed since Beta 2

  • Performance improvements for list operations by @birick1 in #307
  • Support for null-sourced queries by @cmoesel in #306
  • Update DataProvider and PatientObject to allow async and be stricter by @mgramigna in #298
  • Update Test Framework to use CQL Translator 2.x by @cmoesel in #295

Fixes projecttacoma/fqm-execution#172

New Contributors

CQL Execution 3.0.0 Beta Overview

CQL Execution 3.0.0 Beta supports an asynchronous execution flow. Patients are still processed in a serial fashion, but calls to the DataProvider (a.k.a. PatientSource) and TerminologyProvider (a.k.a. CodeService) can now happen asynchronously. This allows for these providers to more easily leverage web services and databases for their data.

Breaking Changes

This is a breaking change. Implementers are required to make minor updates to their code to use this release. The code snippets below demonstrate the old way of invoking the v2.x.x engine and two ways to invoke the 3.x.x engine.

// v2.x.x usage
const result = executor.exec(patientSource);
// Do something with result

// v3.x.x usage
executor.exec(patientSource).then((result) => {
  // Do something with result
})

// or

const result = await executor.exec(patientSource);
// Do something with result

Existing implementations of DataProvider (PatientSource) and TerminologyProvider (CodeService) will continue to work as-is. Implementers who maintain their own implementations of these services may want to consider updating them to return results asynchronously.

For more information, see the V2 to V3 Migration Guide.

In addition, when running cql-execution in a Node.js environment, you should use at least Node 16.

Installation

To install this beta release in your project, run the following command:

npm install --save [email protected]

This is a beta release and is subject to change. We welcome your feedback.