feat(measure): promote CMS125 + CMS122 to Active with full CQL#63
Merged
Conversation
…tion CMS125 (Breast Cancer Screening) and CMS122 (Diabetes HbA1c Poor Control) are now runnable Active measures with full CQL libraries, synthetic employee seed data covering all 5 outcome buckets, and test coverage in CqlEvaluationServiceTest. Both measures are seeded before ensureCmsEcqmCatalogSeed() so the catalog seed leaves the Active v1.0 intact. - cms125.cql: 820-day mammogram compliance window (27 months); COMPLIANT / DUE_SOON / OVERDUE / MISSING_DATA / EXCLUDED using inline code-filter pattern - cms122.cql: numeric Observation-based — HbA1c > 9% → OVERDUE (poor control); ≤ 9% → COMPLIANT; no result → MISSING_DATA - SyntheticFhirBundleBuilder: new observationValue field on ExamConfig for numeric lab values (null-safe; existing Procedure/Immunization path unchanged) - CqlEvaluationService: two new MeasureSeedSpec cases + observationBased dispatch for Observation-type measures - MeasureService: ensureCms125Seed() + ensureCms122Seed() with idempotent upsert (updates CQL text if v1.0 already exists; inserts Active v1.0 if not) - docs/MEASURES.md: added Category 3b; updated catalog summary (10 runnable, 47 Draft catalog entries; total remains 60) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
observationValuefield onExamConfigensureCms125Seed()/ensureCms122Seed()— called beforeensureCmsEcqmCatalogSeed()so the catalog seed skips the existing v1.0 row; idempotent re-seed just updates CQL textWhat changed
measures/cms125.cqlmeasures/cms122.cqlSyntheticFhirBundleBuilder.javaobservationValuefield toExamConfig; Observation FHIR resource emitted when setCqlEvaluationService.javaMeasureSeedSpeccases;observationBaseddispatch for Observation-type measuresMeasureService.javaensureCms125Seed()+ensureCms122Seed()wired intoensureInstanceSeeds()docs/MEASURES.mdTest plan
CqlEvaluationServiceTest#cms125BreastCancerScreeningProducesAllFiveOutcomeBuckets— verifies all 5 outcome buckets present in populationCqlEvaluationServiceTest#cms122DiabetesHbA1cProducesStructuredOutcomes— verifies COMPLIANT/OVERDUE/MISSING_DATA/EXCLUDED +HbA1c Poor Control=truein OVERDUE evidenceExamConfigconstructor; existing seed path unchanged)BUILD SUCCESSFULon./gradlew.bat test --tests "com.workwell.compile.CqlEvaluationServiceTest"🤖 Generated with Claude Code