Exemplo n.º 1
0
        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;
        }