示例#1
0
        public void X835_TryGetMatchedClaimProc_SpecificSupplemental()
        {
            TryEnterPayment(_x835, _eraJustinSmithClaim, _claimPrimaryJustinSmith, true);          //Will return if payment already entered.
            List <ClaimProc> listClaimProcs = ClaimProcs.Refresh(_claimPrimaryJustinSmith.PatNum); //TODO: limit list to claimProcs for primary claim only.

            listClaimProcs.AddRange(ClaimProcs.CreateSuppClaimProcs(listClaimProcs));
            long claimProcNumExpected = listClaimProcs.Find(x => x.ClaimNum == _claimPrimaryJustinSmith.ClaimNum &&
                                                            x.Status == ClaimProcStatus.Received &&
                                                            x.CodeSent == "D0120"
                                                            ).ClaimProcNum;
            long claimProcNumActual = 0;
            bool isSupplemental     = _eraJustinSmithClaim.GetIsSupplemental(_listEtrans835Attaches, listClaimProcs);
            List <Hx835_Proc> listProcsNotMatched = new List <Hx835_Proc>();

            foreach (Hx835_Proc proc in _eraJustinSmithClaim.ListProcs)
            {
                ClaimProc matchedClaimProc = null;
                if (!proc.TryGetMatchedClaimProc(out matchedClaimProc, listClaimProcs, isSupplemental))
                {
                    listProcsNotMatched.Add(proc);
                    continue;
                }
                listClaimProcs.Remove(matchedClaimProc);                //So it cannot be matched twice.
                if (claimProcNumActual != claimProcNumExpected)
                {
                    claimProcNumActual = matchedClaimProc.ClaimProcNum;
                }
                else                  //Found a match, thats all we care about.
                {
                    break;
                }
            }
            Assert.AreEqual(claimProcNumExpected, claimProcNumActual);
        }
示例#2
0
        public void X835_IsProcessed_WithPartialSupplemental()
        {
            TryEnterPayment(_x835, _eraJustinSmithClaim, _claimPrimaryJustinSmith, true);         //Will return if payment already entered.
            List <ClaimProc> listClaimProcs             = ClaimProcs.Refresh(_claimPrimaryJustinSmith.PatNum);
            List <ClaimProc> listSupplementalClaimProcs = ClaimProcs.CreateSuppClaimProcs(listClaimProcs);

            listSupplementalClaimProcs.RemoveAt(0);            //For this test, only enter supplemental payment for some of the procs.
            listClaimProcs.AddRange(listSupplementalClaimProcs);
            Assert.AreEqual(true, _eraJustinSmithClaim.IsProcessed(listClaimProcs, _listEtrans835Attaches));
        }
示例#3
0
        public void X835_GetIsSupplemental_FalsePossitive()
        {
            TryEnterPayment(_x835, _eraJustinSmithClaim, _claimPrimaryJustinSmith, true);         //Will return if payment already entered.
            List <ClaimProc> listClaimProcs             = ClaimProcs.Refresh(_claimPrimaryJustinSmith.PatNum);
            List <ClaimProc> listSupplementalClaimProcs = ClaimProcs.CreateSuppClaimProcs(listClaimProcs);

            listSupplementalClaimProcs.RemoveAt(0);            //Only enter supplemental payment for some of the procs.
            listClaimProcs.AddRange(listSupplementalClaimProcs);
            bool isEraClaimSupplemental = _eraJustinSmithClaim.GetIsSupplemental(_listEtrans835Attaches, listClaimProcs);

            Assert.AreEqual(false, isEraClaimSupplemental);
        }