Class R4MeasureReportScorer

java.lang.Object
org.opencds.cqf.fhir.cr.measure.common.BaseMeasureReportScorer<org.hl7.fhir.r4.model.MeasureReport>
org.opencds.cqf.fhir.cr.measure.r4.R4MeasureReportScorer
All Implemented Interfaces:
MeasureReportScorer<org.hl7.fhir.r4.model.MeasureReport>

public class R4MeasureReportScorer extends BaseMeasureReportScorer<org.hl7.fhir.r4.model.MeasureReport>

The R4 MeasureScorer takes population components from MeasureReport resources and scores each group population according to the values populated.



The population scores within a group are each independently calculated as 'sets' and not counts.



A person may be a member of 0, 1, or more sets.



The CQL returns "true" or "false" or "1" or "0" if a person is a member of a given set. It's not giving you a number to count, it's telling you whether a subject is a member of some population or not. The set math happens external to the CQL.



For example, given Patients A, B, C, D:
  • "Denominator" [A, B, C, D] - "Denominator Exclusion" [ A, B, C, D] = "Total Denominator" []
  • "Denominator" [A, B, C, D] - "Denominator Exclusion" [] = "Total Denominator" [A, B, C, D]
  • "Denominator" [A, B, C] - "Denominator Exclusion" [ B, C ] = "Total Denominator" [A]
  • "Denominator" [] - "Denominator Exclusion" [ A, B, C ] = "Total Denominator" []
  • "Denominator" [A, B] - "Denominator Exclusion" [C, D] = "Total Denominator" [A, B]
  • "Denominator" [B, C, D] - "Denominator Exclusion" [A, B, C] = "Total Denominator" [D]
"Total Denominator" and "Total Numerator" are not explicit in the Measure, MeasureReport, or the CQL. Those values are calculated internally in the engine and are implicitly used in the score.
  • Constructor Details

    • R4MeasureReportScorer

      public R4MeasureReportScorer()
  • Method Details

    • score

      public void score(Map<GroupDef,MeasureScoring> measureScoring, org.hl7.fhir.r4.model.MeasureReport measureReport)
    • getGroupMeasureScoring

      protected MeasureScoring getGroupMeasureScoring(org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupComponent mrgc, Map<GroupDef,MeasureScoring> measureScoring)
    • scoreGroup

      protected void scoreGroup(MeasureScoring measureScoring, org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupComponent mrgc)
    • scoreStratum

      protected void scoreStratum(MeasureScoring measureScoring, org.hl7.fhir.r4.model.MeasureReport.StratifierGroupComponent stratum)
    • getGroupExtensionCount

      protected Integer getGroupExtensionCount(org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupComponent mrgc, String extUrl)
    • getStratumPopulationCount

      protected Integer getStratumPopulationCount(org.hl7.fhir.r4.model.MeasureReport.StratifierGroupComponent sgc, String extUrl)
    • scoreStratifier

      protected void scoreStratifier(MeasureScoring measureScoring, org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupStratifierComponent stratifierComponent)