Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package gov.va.med.ewv.model.response;


import java.io.Serializable;

import gov.va.med.ewv.util.EwvUtils;

public class ClaimOhiContainer implements Serializable, Comparable<ClaimOhiContainer>
{
private ClaimOhiHeader claimOhiHeaderBean;
private ClaimOhiAdjustmentsBean claimOhiAdjustmentsBean;
private CobAmountsBean cobAmountsBean;
private MedicareInPatientAdjudicationBean medicareInPatientAdjudicationBean;
private MedicareOutPatientAdjudicationBean medicareOutPatientAdjudicationBean;

public ClaimOhiContainer(ClaimOhiHeader claimOhiAdjustmentBean,
ClaimOhiAdjustmentsBean claimOhiAdjustmentsBean,
CobAmountsBean cobAmountsBean,
MedicareInPatientAdjudicationBean medicareInPatientAdjudicationBean,
MedicareOutPatientAdjudicationBean medicareOutPatientAdjudicationBean)
{
this.claimOhiHeaderBean = claimOhiAdjustmentBean;
this.claimOhiAdjustmentsBean = claimOhiAdjustmentsBean;
this.cobAmountsBean = cobAmountsBean;
this.medicareInPatientAdjudicationBean = medicareInPatientAdjudicationBean;
this.medicareOutPatientAdjudicationBean = medicareOutPatientAdjudicationBean;
}

public ClaimOhiHeader getClaimOhiHeaderBean()
{
return claimOhiHeaderBean;
}

public void setClaimOhiHeaderBean(ClaimOhiHeader claimOhiHeaderBean)
{
this.claimOhiHeaderBean = claimOhiHeaderBean;
}

public ClaimOhiAdjustmentsBean getClaimOhiAdjustmentsBean()
{
return claimOhiAdjustmentsBean;
}

public void setClaimOhiAdjustmentsBean(ClaimOhiAdjustmentsBean claimOhiAdjustmentsBean)
{
this.claimOhiAdjustmentsBean = claimOhiAdjustmentsBean;
}

public CobAmountsBean getCobAmountsBean()
{
return cobAmountsBean;
}

public void setCobAmountsBean(CobAmountsBean cobAmountsBean)
{
this.cobAmountsBean = cobAmountsBean;
}

public MedicareInPatientAdjudicationBean getMedicareInPatientAdjudicationBean()
{
return medicareInPatientAdjudicationBean;
}

public void setMedicareInPatientAdjudicationBean(MedicareInPatientAdjudicationBean medicareInPatientAdjudicationBean)
{
this.medicareInPatientAdjudicationBean = medicareInPatientAdjudicationBean;
}

public MedicareOutPatientAdjudicationBean getMedicareOutPatientAdjudicationBean()
{
return medicareOutPatientAdjudicationBean;
}

public void setMedicareOutPatientAdjudicationBean(MedicareOutPatientAdjudicationBean medicareOutPatientAdjudicationBean)
{
this.medicareOutPatientAdjudicationBean = medicareOutPatientAdjudicationBean;
}

// ?? This is wrong, the code for compareTo(...) doesn't really implement Comparable<ClaimOhiContainer>
// since unequal objects appear equal.
// Instead, a specialized version of Comparator should be supplied, that is a BiFunction returning int.
// Comparators don't have such stringent requirements, and can represent partial ordering, like here.
//
public int compareTo(ClaimOhiContainer theirBean)
{
int equal = 0;
int gt = 1;
int lt = -1;
int ret = equal;

String mySequence = EwvUtils.defaultToSpace(getClaimOhiHeaderBean().getPaymentSequenceIndicator());
String theirSequence = EwvUtils.defaultToSpace(theirBean.getClaimOhiHeaderBean().getPaymentSequenceIndicator());

mySequence = mySequence.trim();
theirSequence = theirSequence.trim();

int mySequenceOrdinal = getOrdinal(mySequence);
int theirSequenceOrdinal = getOrdinal(theirSequence);

// correct sort is
// payment sequence indicator P,
// then others (like S, T, and so on...)

if (mySequenceOrdinal == theirSequenceOrdinal)
{
ret = equal;
}
else if (mySequenceOrdinal < theirSequenceOrdinal)
{
ret = lt;
}
else if (mySequenceOrdinal > theirSequenceOrdinal)
{
ret = gt;
}

return ret;
}

private int getOrdinal(String sequence)
{
int ret = -1;

if(sequence.equals("P"))
{
ret = 1;
}
else if(sequence.equals("S"))
{
ret = 2;
}
else if(sequence.equals("T"))
{
ret = 3;
}
else
{
ret = 4; // ?? why
}

return ret;
// int ret = "PST".indexOf(sequence);
//// ret = ret < 0 ? ret : ret + 1; // change -1,0,1,2 to -1,1,2,3 but it isn't really necessary for our use
// return ret;
}

// Always render this section, even if there is no data there,
// to show the absence of an OHI Paid Amount.
public boolean getShouldRenderClaimOhiAmountsSection()
{
return true;
}

}