/**
* 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.PersonAttributeType;
import org.openmrs.api.context.Context;
import org.openmrs.report.EvaluationContext;
/**
* @deprecated see reportingcompatibility module
*/
@Deprecated
public class PersonAttributeFilter extends CachingPatientFilter {
private PersonAttributeType attribute;
private String value;
/**
* This currently only returns patients, although it's named for persons.
*/
public PersonAttributeFilter() {
}
@Override
public String getCacheKey() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getName()).append(".");
sb.append(getAttribute()).append(".");
sb.append(getValue());
return sb.toString();
}
public String getDescription() {
StringBuilder sb = new StringBuilder();
sb.append("Patients with ");
sb.append(getAttribute() != null ? getAttribute().getName() : " any attribute");
if (getValue() != null) {
sb.append(" equal to ");
sb.append(getValue());
}
return sb.toString();
}
@Override
public Cohort filterImpl(EvaluationContext context) {
return Context.getPatientSetService().getPatientsHavingPersonAttribute(getAttribute(), getValue());
}
public boolean isReadyToRun() {
// TODO Auto-generated method stub
return true;
}
// getters and setters
public PersonAttributeType getAttribute() {
return attribute;
}
public void setAttribute(PersonAttributeType attribute) {
this.attribute = attribute;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}