Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        ///<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.
        }
Beispiel #4
0
 ///<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));
 }
Beispiel #5
0
 public static void SetComplete(Procedure proc, Patient pat, InsuranceInfo insuranceInfo)
 {
     SetComplete(proc, pat, insuranceInfo.ListInsPlans, insuranceInfo.ListPatPlans, insuranceInfo.ListAllClaimProcs, insuranceInfo.ListBenefits, insuranceInfo.ListInsSubs);
 }