Skip to main contentIBM® FHIR® Server

IBM FHIR Server Clinical Reasoning Guide

Overview

(Experimental) IBM FHIR Server added initial support for the Clinical Quality Language (CQL) and FHIR operations defined in the Clinical Practice Guidelines (CPG) and Quality Measure (cqf-measures) Implementation Guides (IG) that leverage CQL. These IGs build upon the resources and operations defined in the FHIR Clinical Reasoning Module.

The IBM FHIR Server’s module builds upon the work of other open source projects including cqframework/clinical_quality_language, DBCG/cql_engine, and DBCG/cql-evaluator projects and much of the work is to expose these functions with the necessary hooks to perform CQL to ELM translation and ELM evaluation natively inside the IBM FHIR server or externally using an IBM FHIR Server client and model objects. Additionally, support is provided for evaluating and reporting on clinical quality measures and care gaps.

This is an initial step. The quality measure and reporting space is being actively developed and changed and further development will be needed to keep up with standards. For example, both the May2021 ballot of the cqf- measures IG and the Davinci Data Exchange for Quality Measures IG change some of the operations that were implemented here.

There was some prior work done on ActivityDefinition/$apply and PlanDefinition/$apply that are relevant to the clinical quality reporting space that were not integrated with this work yet and should be considered for next steps.

CPG Operations

The CPG IG defines operations that work directly with CQL either as ad-hoc queries via the /$cql operation or via Library resources stored in the FHIR Registry (/Library/$evaluate and /Library/[id]/$evaluate). These operations are exposed by the optional module operation/fhir-operation-cpg. In order to make these operations available to the server, you must build the fhir-operation-cpg module and copy the target/fhir-operation-cpg-X.X.X-shaded.jar into the userlib directory of your FHIR server installation.

  • /$cql
  • /Library/$evaluate
  • /Library/[id]/$evaluate

CQF Operations

The cqf-measures IG builds upon the resources and operations defined in the FHIR Clincial Reasoning Module to define a workflow of operations that support electronic Clinical Quality Measures (eCQMs) and reporting. These operations are exposed by the optional module operation/fhir-operation-cqf. In order to make these operations available to the server, you must build the fhir-operation-cqf module and copy the target/fhir-operation-cqf-X.X.X-shaded.jar into the userlib directory of your FHIR server installation.

  • /Library/$data-requirements
  • /Measure/[id]/$data-requirements
  • /Measure/$collect-data
  • /Measure/[id]/$collect-data
  • /Measure/$evaluate-measure
  • /Measure/[id]/$evaluate-measure
  • /Measure/$care-gaps
  • /Measure/$submit-data
  • /Measure/[id]/$submit-data

System APIs / Modules

ModuleDescription
fhir-cqlFoundation classes for implementing the CQL Engine backend in IBM FHIR Server
fhir-cql-restREST Client-based implementation of CQL Engine backend
fhir-cql-serverInternal API-based implementation of CQL Engine backend
fhir-quality-measureFHIR Quality Measure evaluation logic
operation/fhir-operation-cpgOptional module that implements CQL operations
operation/fhir-operation-cqfOptional module that implements CQF operations