Introducing the IBM Cohort and Quality Measure Service
By Rick Stevens | Published June 3, 2021
Clinical Quality Language (CQL) is an emerging HL7 specification for capturing clinical logic and knowledge to drive a variety of important health care use cases including those that deal with:
- Clinical Decision Support (CDS). These are use cases which focus on identifying optimal care recommendations for patients that match a particular set of clinical characteristics. In this type of use case, CQL would be used to identify a sub-population of patients that would be associated with expert guidance on best standard of care that should be provided to these patients.
- Electronic Clinical Quality Measures (eCQM). Use cases focusing on measurement and reporting on quality of care to quantify and drive continuous improvement in cost and quality of healthcare for various patient sub-populations. The Centers for Medicare and Medicaid Services (CMS) use eCQMs in a variety of quality reporting and value-based purchasing programs. An example measure published by CMS is CMS349v4 which defines a measure focused on percentage of patients between 15 and 65 that have been tested for HIV. Both the patient population the measure is relevant for and sub-population that has been tested for HIV is defined using CQL as part of this eCQM.
The IBM Cohort and Quality Measure Service (aka IBM Cohort Service) is an open, Java-based service supporting evaluation of clinical logic expressed as CQL and quality measures composed from CQL-based cohort definitions against patient data represented as HL7 FHIR. IBM Cohort Service builds upon and extends a number of other open source initiatives oriented around support for CQL including CQL Engine, Clinical Quality Language and cqf ruler.
Release 1.0 of the IBM Cohort Service focuses on delivering an initial set of capabilities that span the cohort and quality measure development and deployment lifecycle. These capabilities include:
- Ability to evaluate both CQL-defined logic and FHIR-based Measure definitions that are based on CQL against patient data that is maintained in a FHIR server.
- Utilities for deploying FHIR Measure, CQL library and value set definitions to a FHIR server that serves as a repository to manage these artifacts.
- An initial set of measure execution runtime performance optimizations focused on inter-measure performance improvement. These optimizations take advantage of caching patient data for use when evaluating a set of quality measures against a given patient.
IBM Cohort Service provides a number of different interfaces to integrate IBM Cohort Service into a larger enterprise solution:
- Java APIs that can be used to embed the cohort and measure evaluation function into another application or solution
- Command line interfaces to facilitate cohort and measure test automation as well as support for integrating cohort service use into a continuous integration and deployment pipeline
- REST API to facilitate integration of cohort evaluation and test function into other web-based applications
A great example illustrating the use of IBM Cohort Service with IBM FHIR server can be found within the Alvearie Health Patterns project. This example shows how to use FHIR server as a repository to store and update CQL library definitions and demonstrates how IBM Cohort Service can be used to evaluate clinical logic represented in CQL against a set of patient data stored in FHIR.
This is our initial foray aimed at supporting this important new standard that will drive future work on clinical decision support and quality management solutions in healthcare. Future work on IBM Cohort Service will focus on additional optimization of CQL execution, the ability to scale execution of CQL evaluation to deal with large patient populations and the ability to deal with other types of underlying data models that are in use for healthcare analytics.
We look forward to your use and feedback on this initial release as well as your input and contributions to guide future enhancements to the IBM Cohort Service project.
See our Getting Started guide for more information on how to get started!