google / cql

An experimental Clinical Quality Language execution engine for analyzing FHIR healthcare data at scale.
Apache License 2.0
57 stars 6 forks source link
clinical-quality-language cql fhir golang healthcare-analysis

Clinical Quality Language Engine

An experimental CQL execution engine for analyzing FHIR healthcare data at scale

GitHub Actions Build Status Go Documentation

CQL is a domain specific language designed for querying and executing logic on healthcare data. CQL excels at healthcare data analysis such as defining quality measures, clinical decision support, cohorts or preparing data for dashboards. CQL is designed for healthcare with first class support for terminologies, easy querying of FHIR via FHIRPath, graceful handling of mixed precision or missing data and built in clinical helper functions. You can find an intro to the CQL Language at https://cql.hl7.org.

This repository contains an experimental CQL execution engine in Go, along with various supporting tools and ecosystem connectors. See the Getting Started section to get up and running quickly.

An example CQL snippet.

Features

Notable features of this engine include:

In addition to the engine this repository has several tools that make it easy to launch and productionize CQL:

Limitations

This CQL Engine is experimental and not an officially supported Google Product. The API to call the engine and the format of the results returned are subject to change. There is limited support of certain parts of the CQL Language:

Getting Started

There are several different ways to use this CQL engine, and get up and running quickly. Click on the links below for details:

⚠️ Warning: When using these tools with protected health information (PHI), please be sure to follow your organization's policies with respect to PHI. ⚠️

Documentation

If you are interested in how this engine was implemented see docs/implementation.md for an overview of the codebase.

Contributors

We would like to recognize those who were significant contributors to the initial squash commit of this project:

Kai Bailey, Suyash Kumar, Evan Gordon, Ryan Brush, Lisa Yin, Other Googlers

These are in order of number of changes. Bolded contributors sent over 100 changes each to the initial commit.

Tech Lead: Suyash Kumar
Product Manager: Chris Grenz
Eng Manager: Ed Nanale

Contributors since the initial squash commit can be seen in the contributors tab.

Thank you to all contributors!