Skip to content
Bryn Rhodes edited this page Jun 20, 2016 · 2 revisions

Library Versioning

Clinical Quality Language provides the ability to define libraries of declarations that are used to describe the criteria and other aspects of a measure. In addition, this capability allows shared declarations to be used by multiple measures, as well as by artifacts in other domains.

With this flexibility comes the need to track dependencies from measures as well as from one library to another. Versioning is an important tool for maintaining those dependencies. Although the CQL specification provides the ability to specify versions within libraries, it does not specify how to interpret those version identifiers. This proposal recommends an approach to versioning libraries used within CQL-Based HQMF Measures to help track and manage dependencies.

Because CQL libraries can contain both public and private components, there is are two main types of changes that can be made to a library. First, a library can be changed in a way that would alter the public usage of its components. And second, a library can be changed in a way that does not impact the public usage of its components, but only corrects or improves the original intended functionality.

By exposing version numbers that identify both types of changes, libraries can be versioned in a way that makes clear when a change will impact usage, versus when a change can potentially be safely incorporated as an update. The first type of change will be referred to as a "major" change, and will require incrementing of the "major version number", while the second type of change will be referred to as a "minor" change, and will only require incrementing of the "minor version number".

Version numbers for CQL libraries can then be represented as:

<major>.<minor>

For example:

library CMS146 version '1.0'

This would indicate the first major version of the CMS146 library. A minor change could be released by incrementing the minor version:

library CMS146 version '1.1'

And a major change could be released by incrementing the major version, and resetting the minor version:

library CMS146 version '2.0'

Wiki Index

Home

Authoring Patterns - QICore v4.1.1

Authoring Patterns - QICore v5.0.0

Authoring Patterns - QICore v6.0.0

Authoring Measures in CQL

Composite Measure Development

Cooking with CQL Examples

Cooking with CQL Q&A All Categories
Additional Q&A Examples

CQL 1.3 Impact Guidance

CQL Error Messages

Developers Introduction to CQL

Discussion Items

Example Measures

Formatting and Usage Topics

Formatting Conventions

Library Versioning

Negation in QDM

QDM Known Issues

Specific Occurrences

Specifying Population Criteria

Supplemental Data Elements

Terminology in CQL

Translator Options For Measure Development

Unions in CQL

Clone this wiki locally