/** * The contents of this file are subject to the OpenMRS Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://license.openmrs.org * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * Copyright (C) OpenMRS, LLC. All Rights Reserved. */ package org.openmrs.reporting; import org.openmrs.Cohort; import org.openmrs.Location; import org.openmrs.api.PatientSetService.PatientLocationMethod; import org.openmrs.api.context.Context; import org.openmrs.report.EvaluationContext; /** * @deprecated see reportingcompatibility module */ @Deprecated public class LocationPatientFilter extends CachingPatientFilter { private Location location; private PatientLocationMethod calculationMethod; public LocationPatientFilter() { calculationMethod = PatientLocationMethod.PATIENT_HEALTH_CENTER; } @Override public String getCacheKey() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getName()).append("."); sb.append(getCalculationMethod()).append("."); if (getLocation() != null) sb.append(getLocation().getLocationId()); return sb.toString(); } public String getDescription() { StringBuilder sb = new StringBuilder(); sb.append("Patients who belong to "); sb.append(getLocation() == null ? "NULL" : getLocation().getName()); sb.append(" (by method " + getCalculationMethod() + ")"); return sb.toString(); } @Override public Cohort filterImpl(EvaluationContext context) { return Context.getPatientSetService().getPatientsHavingLocation(getLocation(), getCalculationMethod()); } public boolean isReadyToRun() { return true; } // getters and setters public Location getLocation() { return location; } public void setLocation(Location location) { this.location = location; } public PatientLocationMethod getCalculationMethod() { return calculationMethod; } public void setCalculationMethod(PatientLocationMethod method) { this.calculationMethod = method; } }