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); }