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.util;
import java.util.Comparator;
import gov.va.med.domain.ewv.EwvAmbulanceInfo5010;
import gov.va.med.domain.ewv.EwvClaimOhis;
import gov.va.med.domain.ewv.EwvServiceLineOhiAdjtmts;
import gov.va.med.domain.ewv.EwvServiceLineOhis;
import gov.va.med.domain.ewv.EwvServiceLines;
import gov.va.med.domain.ewv.EwvServiceLinesDrugs;
import gov.va.med.domain.ewv.EwvSlProvider;
import gov.va.med.domain.ewv.EwvSvcLineDme;
import gov.va.med.domain.ewv.EwvSvcLineTeeth;
import gov.va.med.ewv.model.response.ClaimOhiContainer;
import gov.va.med.ewv.model.response.ClaimOhiHeader;
import static gov.va.med.ewv.util.NullsLastComparator.*;
public class EwvNullsLastComparator {
// An ad hoc collection of Comparators are gathered here just for convenience.
// If we want to be "cleaner" we could separate them into more-specific packages.
//
// Create static final comparator values named nullsLast<T>Comparator,
// That way we don't re-create the comparators with each usage.
// Then overload compare(T,T) for easy use, if desired.
// partially sort
// Comparable.compareTo(o) defines the naturalOrder, but has too many expectations
// It needs to be compatible with equals() and hashcode()
// So, EwvServiceLineOhis doesn't _have_ a natural total order.
// We only have a partial order. But it is enough to sort for highlighting purposes,
// But not enough to use with a Map<>.
public static String getServiceLine_DateOfService(ServiceLine serviceLine) {
// It seems we have to finesse the date because of changing usage
// In the ARS_FRONTEND ars-app/
// service lines for DENTAL use dateOfService, so we should sort on that.
// The PROFESSIONAL and INSTITUTIONAL display a range
// From beginDateOfService to endDateOfService.
String date = null;
if ("DENTAL".equals(serviceLine.getType())) {
date = serviceLine.getDateOfService();
} else { // professional and institutional
date = serviceLine.getBeginDateOfService();
}
return date;
}
public static final Comparator<ServiceLine> nullsLastServiceLineComparator =
Comparator.nullsLast(Comparator
.comparing(EwvNullsLastComparator::getServiceLine_DateOfService, nullsLastLocalDateStringComparator)
// .comparing(ServiceLine::getBeginDateOfService, nullsLastLocalDateStringComparator) // Which one?
// .thenComparing(ServiceLine::getDateOfService, nullsLastLocalDateStringComparator)
//.thenComparing(ServiceLine::getProcedureCode, NullsLastComparator::compare) // overloading works.
.thenComparing(ServiceLine::getLineNumber, nullsLastIntegerStringComparator) // converts to int
//// May not be needed, but what is the real cost?
// .thenComparing(ServiceLine::getCharge, nullsLastStringComparator)
// .thenComparing(ServiceLine::getDxDtPointers, nullsLastStringComparator)
// .thenComparing(ServiceLine::getEndDateOfService, nullsLastLocalDateStringComparator)
// .thenComparing(ServiceLine::getFacilityTax, nullsLastStringComparator)
// .thenComparing(ServiceLine::getModifiers, nullsLastStringComparator)
// .thenComparing(ServiceLine::getNdcCode, nullsLastStringComparator)
// .thenComparing(ServiceLine::getOperatorPhysicianName, nullsLastStringComparator)
// .thenComparing(ServiceLine::getOperatorPhysicianNpi, nullsLastStringComparator)
// .thenComparing(ServiceLine::getPos, nullsLastStringComparator)
// .thenComparing(ServiceLine::getPrimaryPayerPaidAmount, nullsLastStringComparator)
// .thenComparing(ServiceLine::getQuantity, nullsLastStringComparator)
// .thenComparing(ServiceLine::getQuantityOrType, nullsLastStringComparator)
// .thenComparing(ServiceLine::getRevCode, nullsLastStringComparator)
// .thenComparing(ServiceLine::getSalesTax, nullsLastStringComparator)
// .thenComparing(ServiceLine::getSecondaryPayerPaidAmount, nullsLastStringComparator)
// .thenComparing(ServiceLine::getServiceLineLevelAmbulanceInfoShouldRender, Boolean::compare) // Natural order
// .thenComparing(ServiceLine::getServiceTax, nullsLastStringComparator)
// .thenComparing(ServiceLine::getType, NullsLastComparator::compare) // function call overhead, but works compare(String, String),
// NOT finished, but not needed:
// .thenComparing(ServiceLine::getServiceLineLevelAmbulanceInfo, nullsLastAmbulanceInfoComparator)
// .thenComparing(ServiceLine::getListOfDrugLines, nullsLastDrugLineListComparator)
// .thenComparing(ServiceLine::getListOfEquipment, nullsLastMedicalEquipmentLineListComparator)
// .thenComparing(ServiceLine::getListOfProviderInfo, nullsLastProviderListComparator)
// .thenComparing(ServiceLine::getPrimaryOhiServiceLineAdjustments, nullsLastServiceLineOhiAdjustmentListComparator)
// .thenComparing(ServiceLine::getSecondaryOhiServiceLineAdjustments, nullsLastServiceLineOhiAdjustmentListComparator)
// .thenComparing(ServiceLine::getListOfTeeth, nullsLastToothLineListComparator)
);
public static final Comparator<EwvServiceLines> nullsLastEwvServiceLinesComparator =
Comparator.nullsLast(Comparator
.comparing(EwvServiceLines::getBeginDateOfService, nullsLastLocalDateStringComparator)
//.thenComparing(EwvServiceLines::getProcedureCode, nullsLastStringComparator)
.thenComparing(EwvServiceLines::getLineNumber, Long::compare) // This might be all that is needed
// .thenComparing(EwvServiceLines::getEndDateOfService, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getRevenueCode, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getProcedureCode, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getModifier1, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getModifier2, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getModifier3, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getModifier4, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getQuantity, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getNdc, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getType, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getServiceTax, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getFacilityTax, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getCharge, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getPos, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getDx1, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getDx2, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getDx3, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getDx4, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getSalesTax, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getOperatorPhysicianName, nullsLastStringComparator)
// .thenComparing(EwvServiceLines::getOperatorPhysicianNpi, nullsLastStringComparator)
// //
//// .thenComparing(EwvServiceLines::getEwvClaims, nullsLastEwvClaimsComparator)
//// .thenComparing(EwvServiceLines::getEwvSvcLineDmes, nullsLastSet<EwvSvcLineDme>Comparator)
//// .thenComparing(EwvServiceLines::getEwvSlProviders, nullsLastSet<EwvSlProvider>Comparator)
//// .thenComparing(EwvServiceLines::getEwvServiceLineOhises, nullsLastSet<EwvServiceLineOhis>Comparator)
//// .thenComparing(EwvServiceLines::getEwvSvcLineTeeths, nullsLastSet<EwvSvcLineTeeth>Comparator)
//// .thenComparing(EwvServiceLines::getEwvAmbulanceInfo5010s, nullsLastSet<EwvAmbulanceInfo5010>Comparator)
//// .thenComparing(EwvServiceLines::getEwvServiceLinesDrugses, nullsLastSet<EwvServiceLinesDrugs>Comparator)
// .thenComparing(EwvServiceLines::getGuid, nullsLastBigDecimalComparator)
);
// EwvServiceLines
// Comparable.compareTo(o) defines the naturalOrder, but has too many expectations
// It needs to be compatible with equals() and hashcode()
// So, EwvServiceLineOhis doesn't _have_ a natural total order.
// We only have a partial order. But it is enough to sort for highlighting purposes,
// But not enough to use with a Map<>.
public static final Comparator<EwvAmbulanceInfo5010> nullsLastEwvAmbulanceInfo5010Comparator =
Comparator.nullsLast(Comparator
.comparing(EwvAmbulanceInfo5010::getPickupAddressLine1, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getPickupAddressLine2, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getPickupCity, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getPickupState, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getPickupZip, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getDropoffAddressLine1, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getDropoffAddressLine2, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getDropoffCity, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getDropoffState, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getDropoffZip, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getTransportReasonCode, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getTransportDistance, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getRoundTripPurpose, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getStretcherPurpose, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getCertIndicator1, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode11, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode12, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode13, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode14, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode15, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getCertIndicator2, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode21, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode22, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode23, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode24, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode25, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getCertIndicator3, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode31, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode32, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode33, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode34, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getConditionCode35, nullsLastStringComparator)
.thenComparing(EwvAmbulanceInfo5010::getGuid, nullsLastBigDecimalComparator)
);
public static final Comparator<EwvServiceLineOhiAdjtmts> nullsLastEwvServiceLineOhiAdjtmtsComparator =
Comparator.nullsLast(Comparator
.comparing(EwvServiceLineOhiAdjtmts::getPrimaryPayerId, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getSvcLineAdjustmtReasonCode, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getDescription, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getQuantity, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getCoAmt, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getOaAmt, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getPiAmt, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getPrAmt, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getPrAmt, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhiAdjtmts::getGuid, nullsLastBigDecimalComparator)
);
public static final Comparator<EwvServiceLineOhis> nullsLastEwvServiceLineOhisComparator =
Comparator.nullsLast(Comparator
.comparing(EwvServiceLineOhis::getOhiAdjudicatedDate, NullsLastComparator.nullsLastLocalDateStringComparator)
.thenComparing(EwvServiceLineOhis::getProcedureCode, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getRevenueCode, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getAdjudicated, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getModifier1, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getModifier2, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getModifier3, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getModifier4, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getPayerId, nullsLastStringComparator)
.thenComparing(EwvServiceLineOhis::getGuid, nullsLastBigDecimalComparator)
// .thenComparing(EwvServiceLineOhis::getEwvServiceLines, EwvServiceLines::compareTo) // No!
);
public static int compare(ServiceLine a, ServiceLine b){
// Requirement is to sort first on getBeginDateOfService and getProcedureCode
return nullsLastServiceLineComparator.compare(a,b);
}
public static final Comparator<EwvServiceLinesDrugs> nullsLastEwvServiceLinesDrugsComparator =
Comparator.nullsLast(Comparator
.comparing(EwvServiceLinesDrugs::getDrugRx, nullsLastStringComparator)
.thenComparing(EwvServiceLinesDrugs::getDrugRxNdcCode, nullsLastStringComparator)
.thenComparing(EwvServiceLinesDrugs::getDrugRxQuantity, nullsLastStringComparator)
.thenComparing(EwvServiceLinesDrugs::getDrugRxType, nullsLastStringComparator)
.thenComparing(EwvServiceLinesDrugs::getDrugRxCharge, nullsLastStringComparator)
.thenComparing(EwvServiceLinesDrugs::getDrugRxCategory5010, nullsLastStringComparator)
// .thenComparing(EwvServiceLinesDrugs::getEwvServiceLines; // parent back-link
);
public static final Comparator<EwvSlProvider> nullsLastEwvSlProviderComparator =
Comparator.nullsLast(Comparator
.comparing(EwvSlProvider::getProviderType, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getProviderId, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getProviderLname, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getProviderFname, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getProviderNpi5010, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getPostalCode5010, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getProviderMname, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getTaxonomyCode, nullsLastStringComparator)
.thenComparing(EwvSlProvider::getGuid, nullsLastBigDecimalComparator)
);
public static final Comparator<EwvSvcLineDme> nullsLastEwvSvcLineDmeComparator =
Comparator.nullsLast(Comparator
.comparing(EwvSvcLineDme::getDmeLengthMedicalNecessity, nullsLastStringComparator)
.thenComparing(EwvSvcLineDme::getDmeFrequency, nullsLastStringComparator)
.thenComparing(EwvSvcLineDme::getDmeRentalAmt, nullsLastStringComparator)
.thenComparing(EwvSvcLineDme::getDmePurchaseAmt, nullsLastStringComparator)
.thenComparing(EwvSvcLineDme::getGuid, nullsLastBigDecimalComparator)
// .thenComparing(EwvSvcLineDme::getEwvServiceLines; // parent back-link
);
public static final Comparator<EwvSvcLineTeeth> nullsLastEwvSvcLineTeethComparator =
Comparator.nullsLast(Comparator
.comparing(EwvSvcLineTeeth::getToothNumber, nullsLastStringComparator)
.thenComparing(EwvSvcLineTeeth::getSurface1, nullsLastStringComparator)
.thenComparing(EwvSvcLineTeeth::getSurface2, nullsLastStringComparator)
.thenComparing(EwvSvcLineTeeth::getSurface3, nullsLastStringComparator)
.thenComparing(EwvSvcLineTeeth::getSurface4, nullsLastStringComparator)
.thenComparing(EwvSvcLineTeeth::getSurface5, nullsLastStringComparator)
.thenComparing(EwvSvcLineTeeth::getGuid, nullsLastBigDecimalComparator)
// .thenComparing(EwvSvcLineTeeth::getEwvServiceLines; // parent back-link
);
public static final Comparator<EwvClaimOhis> nullsLastEwvClaimOhisComparator =
Comparator.nullsLast(Comparator
.comparing(EwvClaimOhis::getPaymentSequenceIndicator, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getClaimAdjustmentDate, nullsLastLocalDateStringComparator)
.thenComparing(EwvClaimOhis::getOhiPayerId, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getSubscriberPayerId, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOtherPayerName, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOhiGroupName, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getFilingIndicator, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getBenefitsAssignmentIndicator, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInsuranceType, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobSubmittedCharges, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobTotalAllowedAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobApprovedAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobTotalNoncoveredAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobPayerPaidAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobTotalDeniedAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobTotalMedicarePaidAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobPatientPaidAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobMedicarePaidAmt100, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobPatientResponsibility, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobMedicarePaidAmt80, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobMedicareATrustFund, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getCobMedicareBTrustFund, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpCoveredDays, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpLifetimeReserveDays, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpLifetimePsychiatricDays, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpClaimDrgAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpClaimDisproporShare, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpMspPassThroughAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpClaimPpsCapitalAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsCapitalFspDrgAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsCapitalHspDrgAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsCapitalDshDrgAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpOldCapitalAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsCapitalImeAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsOperHospSpecDrgAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsOperFedSpecDrgAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsCapitalOutlrAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpClaimIndirectTeachAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpNonpayableProfComponent, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpPpsCapitalExceptionAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpCostReportDayCount, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkCode1, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkDesc1, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkCode2, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkDesc2, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkCode3, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkDesc3, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkCode4, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkDesc4, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkCode5, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getInpRemittanceRemarkDesc5, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptReimbursementRate, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptEsrdPaidAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptClaimHcpcsPayableAmt, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptNonpayableProfComponent, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkCode1, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkDesc1, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkCode2, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkDesc2, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkCode3, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkDesc3, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkCode4, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkDesc4, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkCode5, nullsLastStringComparator)
.thenComparing(EwvClaimOhis::getOptRemittanceRemarkDesc5, nullsLastStringComparator)
// .thenComparing(EwvClaimOhis::getewvClaims, nullsLastEwvClaimsComparator)
// .thenComparing(EwvClaimOhis::getEwvClaimLevelAdjustmentses, nullsLastEwvClaimLevelAdjustmentsComparator)
.thenComparing(EwvClaimOhis::getGuid, nullsLastBigDecimalComparator)
);
public static final Comparator<ClaimOhiHeader> nullsLastClaimOhiHeaderComparator =
Comparator.nullsLast(Comparator
.comparing(ClaimOhiHeader::getPaymentSequenceIndicator, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getOhiGroupName, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getFilingIndicator, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getBenefitsAssignmentIndicator, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getInsuranceType, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getClaimAdjustmentDate, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getOhiPayerID, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getSubscriberPayerId, nullsLastStringComparator)
.thenComparing(ClaimOhiHeader::getOtherPayerName, nullsLastStringComparator)
);
public static final Comparator<ClaimOhiContainer> nullsLastClaimOhiContainerComparator =
Comparator.nullsLast(Comparator
.comparing(ClaimOhiContainer::getClaimOhiHeaderBean, nullsLastClaimOhiHeaderComparator)
// .thenComparing(ClaimOhiContainer::getClaimOhiAdjustmentsBean, nullsLastClaimOhiAdjustmentsBeanComparator)
// .thenComparing(ClaimOhiContainer::getCobAmountsBean, nullsLastCobAmountsBeanComparator)
// .thenComparing(ClaimOhiContainer::getMedicareInPatientAdjudicationBean, nullsLastMedicareInPatientAdjudicationBeanComparator)
// .thenComparing(ClaimOhiContainer::getMedicareOutPatientAdjudicationBean, nullsLastMedicareOutPatientAdjudicationBeanComparator)
);
// Requirement is to sort first on getBeginDateOfService and getProcedureCode
// EwvServiceLineOhis we only need a partial order, and it is expensive
// (You have to sort them and then compare them)
public static int compare(EwvServiceLines a, EwvServiceLines b){
return nullsLastEwvServiceLinesComparator.compare(a,b);
}
public static int compare(EwvAmbulanceInfo5010 a, EwvAmbulanceInfo5010 b) {
return nullsLastEwvAmbulanceInfo5010Comparator.compare(a,b);
}
public static int compare(EwvServiceLineOhiAdjtmts a, EwvServiceLineOhiAdjtmts b) {
return nullsLastEwvServiceLineOhiAdjtmtsComparator.compare(a,b);
}
public static int compare(EwvServiceLineOhis a, EwvServiceLineOhis b) {
return nullsLastEwvServiceLineOhisComparator.compare(a, b);
}
public static int compare(EwvServiceLinesDrugs a, EwvServiceLinesDrugs b) {
return nullsLastEwvServiceLinesDrugsComparator.compare(a, b);
}
public static int compare(EwvSlProvider a, EwvSlProvider b) {
return nullsLastEwvSlProviderComparator.compare(a,b);
}
public static int compare(EwvSvcLineDme a, EwvSvcLineDme b){
return nullsLastEwvSvcLineDmeComparator.compare(a, b);
}
public static int compare(EwvSvcLineTeeth a, EwvSvcLineTeeth b) {
return nullsLastEwvSvcLineTeethComparator.compare(a, b);
}
public static int compare(EwvClaimOhis a, EwvClaimOhis b) {
return nullsLastEwvClaimOhisComparator.compare(a, b);
}
public static int compare(ClaimOhiHeader a, ClaimOhiHeader b) {
return nullsLastClaimOhiHeaderComparator.compare(a, b);
}
public static int compare(ClaimOhiContainer a, ClaimOhiContainer b) {
return nullsLastClaimOhiContainerComparator.compare(a, b);
}
}