cqframework / cqframework/clinical-reasoning

Support component-based stratifiers

Open
#232 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
49
Forks
43
Avg merge
2d 19h
Merged PRs (30d)
13

Description

The R4 Measure and MeasureReport resources introduced the ability to represent stratifiers as components:

https://github.com/HL7/fhir/blob/master/source/measure/measure-hiv-indicators.xml#L100

Add support for stratification using components.

This is related to work with the WHO on representing HIV indicators

The specification for multi-component stratification is here:
https://hl7.org/fhir/measure-definitions.html#Measure.group.stratifier.component

The code that implements stratifier support is here:
https://github.com/cqframework/clinical-reasoning/blob/master/evaluator.measure/src/main/java/org/opencds/cqf/cql/evaluator/measure/common/MeasureEvaluator.java#L378

For multi-component stratifiers, two subjects are grouped into the same stratification if all of the components are equal. IOW, if a multi-component stratifer has Age and Gender, two subjects are grouped together if they are both 18 and Male. Someone 17 and Male, or 18 and Female would not be in the same stratification.

Acceptance Criteria:
The multi-component measure (or an analog) is added as a test case to the CR repository and the tests pass.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the stratifier support in evaluator.measure/src/main/java/org/opencds/cqf/cql/evaluator/measure/common/MeasureEvaluator.java and compare it with the FHIR multi-component stratifier specification and HIV indicators example. Add a multi-component measure or analog to the CR repository as a test case, then run the relevant tests. Done means the test passes and subjects are grouped only when all component values match.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.