You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current R4CareGapsService is in need of a refactor to take advantage of latest available measure evaluation logic and parameters. This would eliminate redundant code in clinical-reasoning that performs the same functions.
Complexity of Code
The current r4CareGapservice also combines several different concepts into a single class that makes it difficult to debug and understand various components of the logic. This should follow established patterns of separate component classes for the specific function it serves, similar to Measure Evaluation (MeasureProcessor, MeasureReportBuilder, MeasureEvaluator).
Unused Parameters
Current parameters proposed for $care-gaps includes additional options for narrowing the scenario, and ownership of care-gap reports, but lacks implementation. If a user populates one of these parameters they will throw an error back to the user. These unused parameters should be removed from implementation entirely to avoid confusion with end users.
Practitioner, Organization, Topic, Program
Care-Gap Standardized Measure Resources
Care-gaps does not have a standard Measure resource design that it is required for use, it layers all depedency on Measure Evaluation. This is a problem because there are scenarios that are un-covered.
Un-processable Measures
Current logic only processes Measure resources that have a "Numerator" or "Denominator" population code. However there are other Measure Scoring Types that do not define these population codes and would therefore break the service if requested.
Proposed Enhancements
Refactor
Care-gaps to leverage r4MultiMeasureService class to process n-number of Measures requested
CareGapsService to be divided into:
a. CareGapsProcessor - houses construction of result body with input of different Result Bodies as needed (Future non-document mode)
b. CareGapsBundleBuilder - logic to build care-gap bundle per subject
c. CareGapsStatusEvaluator - houses logic to evaluate a 'Measure Report' for a specific care-gap status
d. 'measureIds' parameter changed from type String to IdType to validate resources at parameter.
enable Practitioner and Group of Practitioners through "subject" parameter
enable all-subjects option through "subject" parameter (ex: $care-gaps?subject=null returns all Patients)
similar to r4MultiMeasureService, future patient attribution models can be exposed through a resource reference within the "subject" parameter (like Organization).
Parameter Removals
remove unimplemented parameter placeholders: Organization, Practitioner, Program, Topic. As these only return an error if populated.
Added Measure Scoring Type Validation
add rule for Measure resources that only MeasureScoringType: Ratio or Proportion are processable for $care-gaps, as any other ScoringType implementation does not have a standardized interpretation for care-gaps, and should throw an error.
The text was updated successfully, but these errors were encountered:
Description of Issues
Redundant Logic
Current R4CareGapsService is in need of a refactor to take advantage of latest available measure evaluation logic and parameters. This would eliminate redundant code in clinical-reasoning that performs the same functions.
Complexity of Code
The current r4CareGapservice also combines several different concepts into a single class that makes it difficult to debug and understand various components of the logic. This should follow established patterns of separate component classes for the specific function it serves, similar to Measure Evaluation (MeasureProcessor, MeasureReportBuilder, MeasureEvaluator).
Unused Parameters
Current parameters proposed for $care-gaps includes additional options for narrowing the scenario, and ownership of care-gap reports, but lacks implementation. If a user populates one of these parameters they will throw an error back to the user. These unused parameters should be removed from implementation entirely to avoid confusion with end users.
Practitioner
,Organization
,Topic
,Program
Care-Gap Standardized Measure Resources
Care-gaps does not have a standard Measure resource design that it is required for use, it layers all depedency on Measure Evaluation. This is a problem because there are scenarios that are un-covered.
Un-processable Measures
Current logic only processes Measure resources that have a "Numerator" or "Denominator" population code. However there are other Measure Scoring Types that do not define these population codes and would therefore break the service if requested.
Proposed Enhancements
Refactor
a. CareGapsProcessor - houses construction of result body with input of different Result Bodies as needed (Future non-document mode)
b. CareGapsBundleBuilder - logic to build care-gap bundle per subject
c. CareGapsStatusEvaluator - houses logic to evaluate a 'Measure Report' for a specific care-gap status
d. 'measureIds' parameter changed from type
String
toIdType
to validate resources at parameter.Enhancements
Added Capability
$care-gaps?subject=null
returns all Patients)Parameter Removals
Added Measure Scoring Type Validation
Ratio
orProportion
are processable for$care-gaps
, as any other ScoringType implementation does not have a standardized interpretation for care-gaps, and should throw an error.The text was updated successfully, but these errors were encountered: