Create a MeasureEvaluationRequest data class for evaluation parameters and update call sites.#989
Open
Create a MeasureEvaluationRequest data class for evaluation parameters and update call sites.#989
Conversation
…at transport boundary (#measure-request) MeasureEvaluationRequest is a new version-agnostic record in the common package that captures all caller-supplied operation parameters for a $evaluate-measure invocation — periodStart, periodEnd, reportType, subjectId, practitioner, lastReceivedOn, productLine, and reporter. It is a sibling to MeasureEnvironment: that record owns infrastructure inputs (endpoints, additionalData); this one owns domain parameters. Together they describe the complete context of a measure evaluation. Changes: - New record MeasureEvaluationRequest in measure.common - R4MeasureEvaluatorSingle: evaluate(MeasureReference, request, Parameters) - R4MeasureEvaluatorMultiple: evaluate(List<MeasureReference>, request, Parameters) - Dstu3MeasureEvaluatorSingle: evaluateMeasure(IdType, request, Parameters) - R4MultiMeasureService: both @OverRide evaluate() methods, plus the @VisibleForTesting evaluateSingleMeasureCaptureDef / evaluateWithDefs and the private evaluateToListOfList now all carry MeasureEvaluationRequest - Dstu3MeasureService: receives MeasureEvaluationRequest, calls the new ZonedDateTime overload on Dstu3MeasureProcessor - Dstu3MeasureProcessor: new public evaluateMeasure(IdType, ZonedDateTime, ZonedDateTime, ...) that delegates to a shared Interval-based core, avoiding any String round-trip - MeasureProcessorTimeUtils.buildMeasurementPeriod(ZonedDateTime,ZonedDateTime) promoted from private to public so the Dstu3 path can use it - HAPI R4 MeasureOperationsProvider: builds MeasureEvaluationRequest from parsed period dates and operation params, passes to service - HAPI DSTU3 MeasureOperationsProvider: now injects StringTimePeriodHandler (already in the Spring context via CrBaseConfig) to parse period strings; builds MeasureEvaluationRequest before calling service - CrDstu3Config: wires StringTimePeriodHandler into dstu3MeasureOperationsProvider - R4CareGapsBundleBuilder: updated to use MeasureEvaluationRequest - Test utilities Measure.java and MultiMeasure.java: updated accordingly All measure tests pass.
Enables cqf.kotlin-conventions on cqf-fhir-cr (adds the Kotlin JVM plugin; existing .java files compile unchanged). The class itself is a direct translation of the Java record into a Kotlin data class with default-null parameters. The @get:JvmName annotations on each property expose the accessors under their plain names (e.g. periodStart()) rather than the default JavaBeans prefix form (getPeriodStart()), keeping the call site identical to a Java record so every existing Java caller compiles without modification.
|
Formatting check succeeded! |
|
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.




No description provided.