public static InsPlan GetPlanForPriSecMed(PriSecMed priSecMed, List <PatPlan> listPatPlans, List <InsPlan> listPlans, List <InsSub> listSubs) { long subNum = PatPlans.GetInsSubNum(listPatPlans, PatPlans.GetOrdinal(priSecMed, listPatPlans, listPlans, listSubs)); InsSub sub = InsSubs.GetSub(subNum, listSubs); return(InsPlans.GetPlan(sub.PlanNum, listPlans)); }
///<summary>Returns the ordinal (1-based) for the patplan matching the given PriSecMed. Returns 0 if no match.</summary> public static int GetOrdinal(PriSecMed priSecMed, List <PatPlan> PatPlanList, List <InsPlan> planList, List <InsSub> subList) { //No need to check RemotingRole; no call to db. int dentalOrdinal = 0; for (int i = 0; i < PatPlanList.Count; i++) { InsSub sub = InsSubs.GetSub(PatPlanList[i].InsSubNum, subList); InsPlan plan = InsPlans.GetPlan(sub.PlanNum, planList); if (plan.IsMedical) { if (priSecMed == PriSecMed.Medical) { return(PatPlanList[i].Ordinal); } } else //dental { dentalOrdinal++; if (dentalOrdinal == 1) { if (priSecMed == PriSecMed.Primary) { return(PatPlanList[i].Ordinal); } } else if (dentalOrdinal == 2) { if (priSecMed == PriSecMed.Secondary) { return(PatPlanList[i].Ordinal); } } } } return(0); }
///<summary>Returns the ordinal (1-based) for the patplan matching the given PriSecMed. Returns 0 if no match.</summary> public static int GetOrdinal(PriSecMed priSecMed,List<PatPlan> PatPlanList,List<InsPlan> planList,List<InsSub> subList) { //No need to check RemotingRole; no call to db. int dentalOrdinal=0; for(int i=0;i<PatPlanList.Count;i++) { InsSub sub=InsSubs.GetSub(PatPlanList[i].InsSubNum,subList); InsPlan plan=InsPlans.GetPlan(sub.PlanNum,planList); if(plan.IsMedical) { if(priSecMed==PriSecMed.Medical) { return PatPlanList[i].Ordinal; } } else { //dental dentalOrdinal++; if(dentalOrdinal==1) { if(priSecMed==PriSecMed.Primary) { return PatPlanList[i].Ordinal; } } else if(dentalOrdinal==2) { if(priSecMed==PriSecMed.Secondary) { return PatPlanList[i].Ordinal; } } } } return 0; }