package org.openmrs.module.reporting.query.encounter.evaluator; import org.openmrs.annotation.Handler; import org.openmrs.api.context.Context; import org.openmrs.module.reporting.evaluation.EvaluationContext; import org.openmrs.module.reporting.evaluation.EvaluationException; import org.openmrs.module.reporting.query.encounter.EncounterQueryResult; import org.openmrs.module.reporting.query.encounter.definition.EncounterQuery; import org.openmrs.module.reporting.query.encounter.definition.MappedParametersEncounterQuery; import org.openmrs.module.reporting.query.encounter.service.EncounterQueryService; @Handler(supports = MappedParametersEncounterQuery.class) public class MappedParametersEncounterQueryEvaluator implements EncounterQueryEvaluator { @Override public EncounterQueryResult evaluate(EncounterQuery cohortDefinition, EvaluationContext context) throws EvaluationException { MappedParametersEncounterQuery q = (MappedParametersEncounterQuery) cohortDefinition; EncounterQueryService service = Context.getService(EncounterQueryService.class); EncounterQueryResult evaluated = service.evaluate(q.getWrapped(), context); evaluated.setDefinition(q); return evaluated; } }