public EB02(string code, string descript) { this.code = code; this.descript = descript; this.coverageLevel = BenefitCoverageLevel.Individual; //ignored this.isSupported = false; }
public EB02(string code, string descript, BenefitCoverageLevel coverageLevel) { this.code = code; this.descript = descript; this.coverageLevel = coverageLevel; this.isSupported = true; }
public static void CreateDeductibleGeneral(long planNum,BenefitCoverageLevel coverageLevel,double amt){ Benefit ben=new Benefit(); ben.PlanNum=planNum; ben.BenefitType=InsBenefitType.Deductible; ben.CovCatNum=0; ben.CoverageLevel=coverageLevel; ben.MonetaryAmt=amt; ben.TimePeriod=BenefitTimePeriod.CalendarYear; Benefits.Insert(ben); }
public static void CreateDeductibleGeneral(long planNum, BenefitCoverageLevel coverageLevel, double amt) { Benefit ben = new Benefit(); ben.PlanNum = planNum; ben.BenefitType = InsBenefitType.Deductible; ben.CovCatNum = 0; ben.CoverageLevel = coverageLevel; ben.MonetaryAmt = amt; ben.TimePeriod = BenefitTimePeriod.CalendarYear; Benefits.Insert(ben); }
public static Benefit CreateAnnualMax(long planNum, BenefitCoverageLevel coverageLevel, double amt) { Benefit ben = new Benefit(); ben.PlanNum = planNum; ben.BenefitType = InsBenefitType.Limitations; ben.CovCatNum = 0; ben.CoverageLevel = coverageLevel; ben.MonetaryAmt = amt; ben.TimePeriod = BenefitTimePeriod.CalendarYear; Benefits.Insert(ben); return(ben); }
public static void CreateFrequencyCategory(long planNum, EbenefitCategory category, BenefitQuantity quantityQualifier, Byte quantity, BenefitCoverageLevel coverageLevel = BenefitCoverageLevel.None) { Benefit ben = new Benefit(); ben.PlanNum = planNum; ben.BenefitType = InsBenefitType.Limitations; ben.CovCatNum = CovCats.GetForEbenCat(category).CovCatNum; ben.CoverageLevel = coverageLevel; ben.TimePeriod = BenefitTimePeriod.None; ben.Quantity = quantity; ben.QuantityQualifier = quantityQualifier; Benefits.Insert(ben); }
///<summary>Only for display purposes rather than any calculations. Gets a general deductible from the supplied list of benefits. Ignores benefits that do not match either the planNum or the patPlanNum.</summary> public static double GetDeductGeneralDisplay(List<Benefit> benList,long planNum,long patPlanNum,BenefitCoverageLevel level) { //No need to check RemotingRole; no call to db. for(int i=0;i<benList.Count;i++) { if(benList[i].PlanNum==0 && benList[i].PatPlanNum!=patPlanNum) { continue; } if(benList[i].PatPlanNum==0 && benList[i].PlanNum!=planNum) { continue; } if(benList[i].BenefitType!=InsBenefitType.Deductible) { continue; } if(benList[i].QuantityQualifier!=BenefitQuantity.None) { continue; } if(benList[i].TimePeriod!=BenefitTimePeriod.CalendarYear && benList[i].TimePeriod!=BenefitTimePeriod.ServiceYear) { continue; } if(benList[i].CoverageLevel != level) { continue; } if(benList[i].CodeNum != 0) { continue; } if(benList[i].CovCatNum != 0) { EbenefitCategory eben=CovCats.GetEbenCat(benList[i].CovCatNum); if(eben != EbenefitCategory.General && eben != EbenefitCategory.None) { continue; } } return benList[i].MonetaryAmt; } return -1; }
public EB02(string code,string descript) { this.code=code; this.descript=descript; this.coverageLevel=BenefitCoverageLevel.Individual;//ignored this.isSupported=false; }
public EB02(string code,string descript,BenefitCoverageLevel coverageLevel) { this.code=code; this.descript=descript; this.coverageLevel=coverageLevel; this.isSupported=true; }
///<summary>Only for display purposes rather than for calculations. Get insurance deductible used for one benefit year. Must supply a history list for the patient/family. asofDate is used to determine which benefit year to calc. Usually date of service for a claim. The planNum is the plan to get value for. ExcludeClaim is the ClaimNum to exclude, or enter -1 to include all. It includes pending deductibles in the result.</summary> public static double GetDedUsedDisplay(List<ClaimProcHist> histList,DateTime asofDate,long planNum,long patPlanNum,long excludeClaim,List<InsPlan> planList,BenefitCoverageLevel coverageLevel,long patNum) { //No need to check RemotingRole; no call to db. InsPlan curPlan=GetPlan(planNum,planList); if(curPlan==null) { return 0; } //get the most recent renew date, possibly including today. Date based on annual max. DateTime renewDate=BenefitLogic.ComputeRenewDate(asofDate,curPlan.MonthRenew); DateTime stopDate=renewDate.AddYears(1); double retVal=0; for(int i=0;i<histList.Count;i++) { if(histList[i].PlanNum!=planNum || histList[i].ClaimNum == excludeClaim || histList[i].ProcDate >= stopDate || histList[i].ProcDate < renewDate //no need to check status, because only the following statuses will be part of histlist: //Adjustment,NotReceived,Received,Supplemental ) { continue; } if(coverageLevel!=BenefitCoverageLevel.Family && histList[i].PatNum != patNum) { continue;//to exclude histList items from other family members } retVal+=histList[i].Deduct; } return retVal; }
public static void CreateAgeLimitation(long planNum, EbenefitCategory category, int ageThrough, BenefitCoverageLevel coverageLevel = BenefitCoverageLevel.None) { CreateFrequencyCategory(planNum, category, BenefitQuantity.AgeLimit, (byte)ageThrough, coverageLevel); }
public static Benefit CreateAgeLimitation(long planNum, EbenefitCategory category, int ageThrough, BenefitCoverageLevel coverageLevel = BenefitCoverageLevel.None, long codeNum = 0) { return(CreateFrequencyCategory(planNum, category, BenefitQuantity.AgeLimit, (byte)ageThrough, coverageLevel, codeNum)); }