public static InsuranceInfo AddInsurance(Patient pat, string carrierName, string planType = "", long feeSchedNum = 0, int ordinal = 1, bool isMedical = false, EnumCobRule cobRule = EnumCobRule.Basic, long copayFeeSchedNum = 0, int monthRenew = 0, string subscriberID = "1234", ExclusionRule exclusionRule = ExclusionRule.PracticeDefault) { InsuranceInfo ins = new InsuranceInfo(); ins.AddInsurance(pat, carrierName, planType, feeSchedNum, ordinal, isMedical, cobRule, copayFeeSchedNum, monthRenew, subscriberID, exclusionRule); return(ins); }
public static Claim CreateClaim(List <Procedure> listProcsForClaim, InsuranceInfo insInfo, string claimType = "P", string claimIdentifier = "") { //In case the tester forgot to add these procs to the insInfo object: List <Procedure> listProcsAll = insInfo.ListAllProcs.Select(x => x.Copy()).ToList(); listProcsAll.AddRange(listProcsForClaim.FindAll(x => !insInfo.ListAllProcs.Any(y => y.ProcNum == x.ProcNum))); return(CreateClaim(claimType, insInfo.ListPatPlans, insInfo.ListInsPlans, insInfo.ListAllClaimProcs, listProcsAll, insInfo.Pat, listProcsForClaim, insInfo.ListBenefits, insInfo.ListInsSubs, claimIdentifier: claimIdentifier)); }
///<summary>Creates insurance and completed procedures prior to creating a claim with given claimType and claimIdentifier.</summary> public static Claim SetupEraClaim(Patient pat, List <EraTestProcCodeData> listProcCodes, string claimType, string claimIdentifier, out List <InsuranceInfo> listInsuranceInfo) { listInsuranceInfo = new List <InsuranceInfo>(); //Create Insurance InsuranceInfo insuranceInfoPercentage = InsuranceT.AddInsurance(pat, "PrimaryCarrier"); //non-ppo InsuranceInfo insuranceInfoPPO = InsuranceT.AddInsurance(pat, "SecondaryCarrier", "p", ordinal: 2); //PPO, currently not used. listInsuranceInfo.Add(insuranceInfoPercentage); listInsuranceInfo.Add(insuranceInfoPPO); //Create and complete procedures. List <Procedure> listProcs = new List <Procedure>(); foreach (EraTestProcCodeData data in listProcCodes) { Procedure proc = ProcedureT.CreateProcedure(pat, data.ProcCode, data.ProcStatus, "0", data.ProcFee, data.ProcDateTime); ProcedureT.SetComplete(proc, pat, insuranceInfoPercentage); //Does not create claimProcs if they are backdated. listProcs.Add(proc); } //Create claim return(ClaimT.CreateClaim(listProcs, insuranceInfoPercentage, claimType, claimIdentifier)); //Creates missing claimProcs, uses procDate, claimIdentifier from ERA. }
///<summary>Computes the claimproc estimates for all TP procedures belonging to the specified patient. Returns the claimprocs.</summary> public static List <ClaimProc> ComputeEstimates(Patient pat, InsuranceInfo insInfo, DateTime dateCalc) { return(ComputeEstimates(pat, insInfo.ListPatPlans, insInfo.ListInsPlans, insInfo.ListInsSubs, insInfo.ListBenefits, dateCalc)); }
public static void SetComplete(Procedure proc, Patient pat, InsuranceInfo insuranceInfo) { SetComplete(proc, pat, insuranceInfo.ListInsPlans, insuranceInfo.ListPatPlans, insuranceInfo.ListAllClaimProcs, insuranceInfo.ListBenefits, insuranceInfo.ListInsSubs); }