Пример #1
0
 public EB02(string code, string descript)
 {
     this.code          = code;
     this.descript      = descript;
     this.coverageLevel = BenefitCoverageLevel.Individual;          //ignored
     this.isSupported   = false;
 }
Пример #2
0
 public EB02(string code, string descript, BenefitCoverageLevel coverageLevel)
 {
     this.code          = code;
     this.descript      = descript;
     this.coverageLevel = coverageLevel;
     this.isSupported   = true;
 }
Пример #3
0
		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);
		}
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
		///<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;
		}
Пример #8
0
Файл: EB271.cs Проект: mnisl/OD
		public EB02(string code,string descript) {
			this.code=code;
			this.descript=descript;
			this.coverageLevel=BenefitCoverageLevel.Individual;//ignored
			this.isSupported=false;
		}
Пример #9
0
Файл: EB271.cs Проект: mnisl/OD
		public EB02(string code,string descript,BenefitCoverageLevel coverageLevel) {
			this.code=code;
			this.descript=descript;
			this.coverageLevel=coverageLevel;
			this.isSupported=true;
		}
Пример #10
0
		///<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;
		}
Пример #11
0
 public static void CreateAgeLimitation(long planNum, EbenefitCategory category, int ageThrough,
                                        BenefitCoverageLevel coverageLevel = BenefitCoverageLevel.None)
 {
     CreateFrequencyCategory(planNum, category, BenefitQuantity.AgeLimit, (byte)ageThrough, coverageLevel);
 }
Пример #12
0
 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));
 }