public static BillableObject GetStandardBillableObject(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo) { BillableObject result = null; YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo); YellowstonePathology.Business.PanelSet.Model.PanelSetCollection panelSetCollection = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll(); YellowstonePathology.Business.PanelSet.Model.PanelSet panelSet = panelSetCollection.GetPanelSet(panelSetOrder.PanelSetId); if (panelSetOrder is YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder == true) { result = new BillableObjectSurgicalPathology(accessionOrder, reportNo); } else if (panelSetOrder is YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology == true) { if (accessionOrder.PrimaryInsurance == "Medicare") { result = new BillableObjectThinPrepPapMedicare(accessionOrder, reportNo); } else { result = new BillableObjectThinPrepPap(accessionOrder, reportNo); } } else if (panelSet is YellowstonePathology.Business.PanelSet.Model.PanelSetMolecularTest == true) { result = new BillableObjectInHouseMolecular(accessionOrder, reportNo); } else if (panelSet is YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTest == true) { result = new BillableObjectKRASWithBRAFReflex(accessionOrder, reportNo); } else if (panelSet is YellowstonePathology.Business.Test.LLP.LeukemiaLymphomaTest == true) { result = new BillableObjectLeukemiaLymphoma(accessionOrder, reportNo); } else if (panelSet is YellowstonePathology.Business.Test.TechnicalOnly.TechnicalOnlyTest == true || panelSet is YellowstonePathology.Business.Test.IHCQC.IHCQCTest == true) { result = new BillableObjectTechnicalOnly(accessionOrder, reportNo); } else { result = new BillableObject(accessionOrder, reportNo); } return(result); }
public static BillableObject GetStandardBillableObject(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo) { BillableObject result = null; YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo); YellowstonePathology.Business.PanelSet.Model.PanelSetCollection panelSetCollection = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll(); YellowstonePathology.Business.PanelSet.Model.PanelSet panelSet = panelSetCollection.GetPanelSet(panelSetOrder.PanelSetId); if (panelSetOrder is YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder == true) { result = new BillableObjectSurgicalPathology(accessionOrder, reportNo); } else if (panelSetOrder is YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology == true) { if (accessionOrder.PrimaryInsurance == "Medicare") { result = new BillableObjectThinPrepPapMedicare(accessionOrder, reportNo); } else { result = new BillableObjectThinPrepPap(accessionOrder, reportNo); } } else if (panelSet is YellowstonePathology.Business.PanelSet.Model.PanelSetMolecularTest == true) { result = new BillableObjectInHouseMolecular(accessionOrder, reportNo); } else if (panelSet is YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTest == true) { result = new BillableObjectKRASWithBRAFReflex(accessionOrder, reportNo); } else if (panelSet is YellowstonePathology.Business.Test.LLP.LeukemiaLymphomaTest == true) { result = new BillableObjectLeukemiaLymphoma(accessionOrder, reportNo); } else if (panelSet is YellowstonePathology.Business.Test.TechnicalOnly.TechnicalOnlyTest == true || panelSet is YellowstonePathology.Business.Test.IHCQC.IHCQCTest == true) { result = new BillableObjectTechnicalOnly(accessionOrder, reportNo); } else { result = new BillableObject(accessionOrder, reportNo); } return result; }