/**
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* 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.
*
* The Original Code is OpenELIS code.
*
* Copyright (C) The Minnesota Department of Health. All Rights Reserved.
*
* Contributor(s): CIRG, University of Washington, Seattle WA.
*/
package us.mn.state.health.lims.resultvalidation.action.util;
import us.mn.state.health.lims.analysis.valueholder.Analysis;
import us.mn.state.health.lims.common.util.IdValuePair;
import us.mn.state.health.lims.result.action.util.ResultItem;
import us.mn.state.health.lims.result.valueholder.Result;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class ResultValidationItem implements ResultItem, Serializable{
private static final long serialVersionUID = 1L;
private String accessionNumber;
private String sequenceNumber;
private boolean showSampleDetails = true;
/*
* What the h*** is a group separator?
* It is a work around for the grouped results forms. If the issue were just displaying
* there wouldn't be an issue with using nested collections but Struts 1.x makes it difficult
* to recover the entered data with nested iterators so we are using a single iterator with marked
* TestResultItems to do the grouping correctly.
*/
private boolean isGroupSeparator = false;
private int sampleGroupingNumber = 1; //display only -- groups like samples together
private static String NO = "no";
private String noteId;
private String sampleSource;
private String testDate;
private String receivedDate;
private String analysisMethod;
private String testName;
private String testId;
private String resultValue;
private String remarks;
private String unitsOfMeasure = "";
private String testSortNumber;
private String resultType;
private boolean isModified = false;
private Analysis analysis;
private String resultId;
private Result result;
private String resultLimitId;
private List<IdValuePair> dictionaryResults;
private String remove = NO;
private String note;
private String pastNotes;
private boolean valid = true;
private boolean notIncludedInWorkplan = false;
private boolean readOnly = false;
private String multiSelectResultValues = "{}";
private String initialSampleCondition;
private String sampleType;
private boolean failedValidation = false;
private boolean isReflexGroup = false;
private boolean isChildReflex = false;
private boolean nonconforming = false;
private String qualifiedDictionaryId;
private String qualifiedResultValue = "";
private String qualificationResultId;
private boolean hasQualifiedResult = false;
public String getAccessionNumber() {
return accessionNumber;
}
public void setAccessionNumber(String accessionNumber) {
this.accessionNumber = accessionNumber;
}
public String getSequenceNumber() {
return sequenceNumber;
}
public void setSequenceNumber(String sequenceNumber) {
this.sequenceNumber = sequenceNumber;
}
public boolean isShowSampleDetails() {
return showSampleDetails;
}
public void setShowSampleDetails(boolean showSampleDetails) {
this.showSampleDetails = showSampleDetails;
}
public boolean getIsGroupSeparator() {
return isGroupSeparator;
}
public void setIsGroupSeparator(boolean isGroupSeparator) {
this.isGroupSeparator = isGroupSeparator;
}
public int getSampleGroupingNumber() {
return sampleGroupingNumber;
}
public void setSampleGroupingNumber(int sampleGroupingNumber) {
this.sampleGroupingNumber = sampleGroupingNumber;
}
public void setModified(boolean isModified) {
this.isModified = isModified;
}
public String getUnitsOfMeasure() {
return unitsOfMeasure;
}
public void setUnitsOfMeasure(String unitsOfMeasure) {
this.unitsOfMeasure = unitsOfMeasure;
}
public String getRemove() {
return remove;
}
public void setRemove(String remove) {
this.remove = remove;
}
public boolean isRemoved(){
return NO.equals( remove );
}
public void setTestSortNumber(String testSortNumber) {
this.testSortNumber = testSortNumber;
}
public String getTestSortNumber() {
return testSortNumber;
}
public String getSampleSource() {
return sampleSource;
}
public void setSampleSource(String sampleSource) {
this.sampleSource = sampleSource;
}
public String getTestDate() {
return testDate;
}
public void setTestDate(String testDate) {
this.testDate = testDate;
}
public String getTestName() {
return testName;
}
public void setTestName(String testName) {
this.testName = testName;
}
public String getResultValue() {
return resultValue;
}
public void setResultValue(String results) {
this.resultValue = results;
}
public String getResultType() {
return resultType;
}
public void setResultType(String resultType) {
this.resultType = resultType;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public void setIsModified(boolean isModified) {
this.isModified = isModified;
}
public boolean getIsModified() {
return isModified;
}
public String getResultId() {
return resultId;
}
public void setResultId(String resultId) {
this.resultId = resultId;
}
public void setDictionaryResults(List<IdValuePair> dictonaryResults) {
this.dictionaryResults = dictonaryResults;
}
public List<IdValuePair> getDictionaryResults() {
return dictionaryResults == null ? new ArrayList<IdValuePair>() : dictionaryResults;
}
public String getResultLimitId() {
return resultLimitId;
}
public void setResultLimitId(String resultLimitId) {
this.resultLimitId = resultLimitId;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public void setAnalysisMethod(String analysisMethod) {
this.analysisMethod = analysisMethod;
}
public String getAnalysisMethod() {
return analysisMethod;
}
public void setValid(boolean valid) {
this.valid = valid;
}
public boolean isValid() {
return valid;
}
public void setNotIncludedInWorkplan(boolean include) {
this.notIncludedInWorkplan = include;
}
public boolean isNotIncludedInWorkplan() {
return notIncludedInWorkplan;
}
public void setReceivedDate(String receivedDate) {
this.receivedDate = receivedDate;
}
public String getReceivedDate() {
return receivedDate;
}
public void setResult(Result result) {
if( result == null ){
setResultId("");
setResultValue("");
}else{
setResultId(result.getId());
setResultValue(result.getValue());
}
this.result = result;
}
public Result getResult() {
return result;
}
public void setReadOnly(boolean readOnly) {
this.readOnly = readOnly;
}
public boolean isReadOnly() {
return readOnly;
}
public void setMultiSelectResultValues(String newMultiSelectResults) {
this.multiSelectResultValues = newMultiSelectResults;
}
public String getMultiSelectResultValues() {
return multiSelectResultValues;
}
public void setInitialSampleCondition(String initialSampleCondition) {
this.initialSampleCondition = initialSampleCondition;
}
public String getInitialSampleCondition() {
return initialSampleCondition;
}
public void setSampleType(String sampleType) {
this.sampleType = sampleType;
}
public String getSampleType() {
return sampleType;
}
public void setFailedValidation(boolean failedValidation) {
this.failedValidation = failedValidation;
}
public boolean isFailedValidation() {
return failedValidation;
}
public void setPastNotes(String pastNotes) {
this.pastNotes = pastNotes;
}
public String getPastNotes() {
return pastNotes;
}
public void setNoteId(String noteId) {
this.noteId = noteId;
}
public String getNoteId() {
return noteId;
}
public void setTestId(String testId) {
this.testId = testId;
}
public String getTestId() {
return testId;
}
@Override
public String getSequenceAccessionNumber() {
return getAccessionNumber() + "-" + getSequenceNumber();
}
@Override
public String getTestSortOrder() {
return null;
}
public boolean isReflexGroup() {
return isReflexGroup;
}
public void setReflexGroup(boolean isReflexGroup) {
this.isReflexGroup = isReflexGroup;
}
public boolean isChildReflex() {
return isChildReflex;
}
public void setChildReflex(boolean isChildReflex) {
this.isChildReflex = isChildReflex;
}
public boolean isNonconforming() {
return nonconforming;
}
public void setNonconforming(boolean nonconforming) {
this.nonconforming = nonconforming;
}
public String getQualifiedDictionaryId(){
return qualifiedDictionaryId;
}
public void setQualifiedDictionaryId(String qualifiedDictionaryId){
this.qualifiedDictionaryId = qualifiedDictionaryId;
}
public String getQualifiedResultValue(){
return qualifiedResultValue;
}
public void setQualifiedResultValue(String qualifiedResultValue){
this.qualifiedResultValue = qualifiedResultValue;
}
public boolean isHasQualifiedResult(){
return hasQualifiedResult;
}
public void setHasQualifiedResult( boolean hasQualifiedResult ){
this.hasQualifiedResult = hasQualifiedResult;
}
public String getQualificationResultId() {
return qualificationResultId;
}
public void setQualificationResultId(String qualificationResultId) {
this.qualificationResultId = qualificationResultId;
}
public Analysis getAnalysis(){
return analysis;
}
public void setAnalysis( Analysis analysis ){
this.analysis = analysis;
}
}