public void OrthoProcLinks_LinkProcForActiveOrthoCase_LinkCompletedProcsToOrthoCase() { Prefs.UpdateString(PrefName.OrthoBandingCodes, "D8080"); Prefs.UpdateString(PrefName.OrthoDebondCodes, "D8070"); Prefs.UpdateString(PrefName.OrthoVisitCodes, "D8060"); Patient pat = PatientT.CreatePatient(MethodBase.GetCurrentMethod().Name); Procedure bandingProc = ProcedureT.CreateProcedure(pat, "D8080", ProcStat.C, "", 0); Procedure visitProc = ProcedureT.CreateProcedure(pat, "D8060", ProcStat.C, "", 0); Procedure debondProc = ProcedureT.CreateProcedure(pat, "D8070", ProcStat.C, "", 0); long orthoCaseNum = OrthoCaseT.InsertForFormOrthoCase(pat.PatNum, 2000, 1200, 0, 800, DateTime.Today, false, DateTime.Today.AddMonths(12), 1000, 400, 60, bandingProc); OrthoProcLinks.LinkProcForActiveOrthoCase(visitProc); OrthoProcLinks.LinkProcForActiveOrthoCase(debondProc); OrthoCase orthoCase = OrthoCases.GetOne(orthoCaseNum); List <OrthoProcLink> listAllProcLinks = OrthoProcLinks.GetManyByOrthoCase(orthoCaseNum); List <OrthoProcLink> listVisitProcLinks = OrthoProcLinks.GetVisitLinksForOrthoCase(orthoCaseNum); OrthoProcLink debondProcLink = OrthoProcLinks.GetByType(orthoCaseNum, OrthoProcType.Debond); Assert.AreEqual(orthoCase.IsActive, false); Assert.AreEqual(listAllProcLinks.Count, 3); Assert.AreEqual(debondProcLink.ProcNum, debondProc.ProcNum); Assert.AreEqual(debondProcLink.SecUserNumEntry, Security.CurUser.UserNum); Assert.AreEqual(listVisitProcLinks.Count, 1); Assert.AreEqual(listVisitProcLinks[0].ProcNum, visitProc.ProcNum); Assert.AreEqual(listVisitProcLinks[0].SecUserNumEntry, Security.CurUser.UserNum); }
public void OrthoProcLinks_SetProcFeeForLinkedProc_SetFeeForEachProcType() { Patient pat = PatientT.CreatePatient(MethodBase.GetCurrentMethod().Name); Procedure bandingProc = ProcedureT.CreateProcedure(pat, "D8080", ProcStat.C, "", 0); Procedure visitProc = ProcedureT.CreateProcedure(pat, "D8060", ProcStat.C, "", 0); Procedure debondProc = ProcedureT.CreateProcedure(pat, "D8070", ProcStat.C, "", 0); long orthoCaseNum = OrthoCaseT.InsertForFormOrthoCase(pat.PatNum, 2000, 1200, 0, 800, DateTime.Today, false, DateTime.Today.AddMonths(12), 1000, 400, 60, new Procedure()); OrthoCase orthoCase = OrthoCases.GetOne(orthoCaseNum); OrthoPlanLink schedulePlanLink = OrthoPlanLinks.GetOneForOrthoCaseByType(orthoCaseNum, OrthoPlanLinkType.OrthoSchedule); OrthoSchedule orthoSchedule = OrthoSchedules.GetOne(schedulePlanLink.FKey); List <OrthoProcLink> listVisitProcLinks = OrthoProcLinks.GetVisitLinksForOrthoCase(orthoCaseNum); OrthoProcLinks.SetProcFeeForLinkedProc(orthoCase, bandingProc, OrthoProcType.Banding, listVisitProcLinks, schedulePlanLink, orthoSchedule); OrthoProcLinks.SetProcFeeForLinkedProc(orthoCase, visitProc, OrthoProcType.Visit, listVisitProcLinks, schedulePlanLink, orthoSchedule); OrthoProcLinks.SetProcFeeForLinkedProc(orthoCase, debondProc, OrthoProcType.Debond, listVisitProcLinks, schedulePlanLink, orthoSchedule); Assert.AreEqual(bandingProc.ProcFee, 1000); Assert.AreEqual(debondProc.ProcFee, 400); Assert.AreEqual(visitProc.ProcFee, 60); }