public static StainSpecimenCollection GetCollection(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo)
        {
            StainSpecimenCollection result = new StainSpecimenCollection();

            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);
            foreach (YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder in accessionOrder.SpecimenOrderCollection)
            {
                YellowstonePathology.Business.Test.Model.TestOrderCollection testOrderCollection = panelSetOrder.GetTestOrderCollection(specimenOrder.AliquotOrderCollection);

                if (panelSetOrder.PanelSetId == 13)
                {
                    YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder panelSetOrderSurgical = (YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder)panelSetOrder;
                    YellowstonePathology.Business.Test.Surgical.SurgicalSpecimen  surgicalSpecimen      = panelSetOrderSurgical.SurgicalSpecimenCollection.GetBySpecimenOrderId(specimenOrder.SpecimenOrderId);
                    if (surgicalSpecimen != null)
                    {
                        YellowstonePathology.Business.SpecialStain.StainResultItemCollection stainResultCollection = surgicalSpecimen.StainResultItemCollection;
                        SurgicalStainSpecimen surgicalStainSpecimen = new SurgicalStainSpecimen(specimenOrder, testOrderCollection, stainResultCollection);
                        result.Add(surgicalStainSpecimen);
                    }
                }
                else
                {
                    if (panelSetOrder is YellowstonePathology.Business.Test.LynchSyndrome.PanelSetOrderLynchSyndromeEvaluation)
                    {
                        if (result.HasLSEIHCSpecimen() == false)
                        {
                            LSEIHCStainSpecimen lseIHCStainSpecimen = new LSEIHCStainSpecimen();
                            result.Add(lseIHCStainSpecimen);
                        }
                    }
                    else
                    {
                        StainSpecimen stainSpecimen = new StainSpecimen(specimenOrder, testOrderCollection);
                        result.Add(stainSpecimen);
                    }
                }
            }
            return(result);
        }
        public int GetBillable88364Count()
        {
            int result = 0;

            foreach (StainSpecimen stainSpecimen in this)
            {
                if (stainSpecimen is SurgicalStainSpecimen)
                {
                    SurgicalStainSpecimen surgicalStainSpecimen = (SurgicalStainSpecimen)stainSpecimen;
                    result = result + surgicalStainSpecimen.GetBillableISHCount();
                }
                else
                {
                    result = result + stainSpecimen.GetBillableISHCount();
                }
            }

            if (result > 1)
            {
                result = 1;
            }
            return(result);
        }