Exemplo n.º 1
0
 public AddSlideOrderVisitor(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.Model.TestOrder testOrder)
     : base(true, false)
 {
     this.m_AliquotOrder   = aliquotOrder;
     this.m_TestOrder      = testOrder;
     this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;
 }
Exemplo n.º 2
0
 private void MenuItemCancelPantherOrder_Click(object sender, RoutedEventArgs e)
 {
     if (this.ListViewAccessionOrders.SelectedItem != null)
     {
         if (this.m_LoginUI.AccessionOrder.SpecimenOrderCollection.HasThinPrepFluidSpecimen() == true)
         {
             YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_LoginUI.AccessionOrder.SpecimenOrderCollection.GetThinPrep();
             if (specimenOrder.AliquotOrderCollection.HasPantherAliquot() == true)
             {
                 YellowstonePathology.Business.Test.AliquotOrder  aliquotOrder  = specimenOrder.AliquotOrderCollection.GetPantherAliquot();
                 YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(14);
                 YellowstonePathology.Business.HL7View.Panther.PantherAssayHPV pantherAssayHPV = new Business.HL7View.Panther.PantherAssayHPV();
                 YellowstonePathology.Business.HL7View.Panther.PantherOrder    pantherOrder    = new Business.HL7View.Panther.PantherOrder(pantherAssayHPV, specimenOrder, aliquotOrder, this.m_LoginUI.AccessionOrder, panelSetOrder, YellowstonePathology.Business.HL7View.Panther.PantherActionCode.CancelRequest);
                 pantherOrder.Send();
             }
             else
             {
                 MessageBox.Show("No Panther aliquot found.");
             }
         }
         else
         {
             MessageBox.Show("No Thin Prep Fluid Specimen Found.");
         }
     }
 }
Exemplo n.º 3
0
        public LynchSyndromeEvaluationResultPage(YellowstonePathology.Business.Test.LynchSyndrome.PanelSetOrderLynchSyndromeEvaluation panelSetOrderLynchSyndromeEvaluation,
                                                 YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                                 YellowstonePathology.Business.User.SystemIdentity systemIdentity,
                                                 System.Windows.Visibility backButtonVisibility)
        {
            this.m_PanelSetOrderLynchSyndromeEvaluation = panelSetOrderLynchSyndromeEvaluation;
            this.m_AccessionOrder       = accessionOrder;
            this.m_SystemIdentity       = systemIdentity;
            this.m_BackButtonVisibility = backButtonVisibility;

            this.m_LSETypeCollection = new Business.Test.LynchSyndrome.LSETypeCollection();
            this.m_PageHeaderText    = "Lynch Syndrome Evaluation Results For: " + this.m_AccessionOrder.PatientDisplayName + " (" + this.m_PanelSetOrderLynchSyndromeEvaluation.ReportNo + ")";

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrderLynchSyndromeEvaluation.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrderLynchSyndromeEvaluation.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            InitializeComponent();
            DataContext = this;

            this.Loaded += new RoutedEventHandler(LynchSyndromeEvaluationResultPage_Loaded);
        }
        public ALKForNSCLCByFISHResultPage(YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTestOrder alkForNSCLCByFISHTestOrder,
                                           YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                           YellowstonePathology.Business.User.SystemIdentity systemIdentity) : base(alkForNSCLCByFISHTestOrder, accessionOrder)
        {
            this.m_PanelSetOrder  = alkForNSCLCByFISHTestOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_PageHeaderText = "ALK Results For: " + this.m_AccessionOrder.PatientDisplayName;

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            InitializeComponent();

            DataContext = this;

            this.m_ParentWindow = Window.GetWindow(this);

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
        private void BarcodeScanPort_AliquotOrderIdReceived(string scanData)
        {
            this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
                                   new Action(
                                       delegate()
            {
                if (this.m_SpecimenOrder.AliquotOrderCollection.Exists(scanData) == true)
                {
                    YellowstonePathology.Business.Facility.Model.FacilityCollection facilityCollection = Business.Facility.Model.FacilityCollection.GetAllFacilities();
                    YellowstonePathology.Business.Facility.Model.LocationCollection locationCollection = YellowstonePathology.Business.Facility.Model.LocationCollection.GetAllLocations();
                    YellowstonePathology.Business.Facility.Model.Facility thisFacility = facilityCollection.GetByFacilityId(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.FacilityId);
                    YellowstonePathology.Business.Facility.Model.Location thisLocation = locationCollection.GetLocation(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.LocationId);

                    YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = this.m_SpecimenOrder.AliquotOrderCollection.GetByAliquotOrderId(scanData);
                    aliquotOrder.Validate();

                    string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                    YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog materialTrackingLog = new Business.MaterialTracking.Model.MaterialTrackingLog(objectId, scanData, null, thisFacility.FacilityId, thisFacility.FacilityName,
                                                                                                                                                                           thisLocation.LocationId, thisLocation.Description, "Panther Aliquot Scanned", "Panther aliquot scanned at cytology aliquoting", "Aliquot", this.m_AccessionOrder.MasterAccessionNo, aliquotOrder.Label, aliquotOrder.ClientAccessioned);
                    YellowstonePathology.Business.Persistence.DocumentGateway.Instance.InsertDocument(materialTrackingLog, Window.GetWindow(this));

                    if (this.m_SpecimenOrder.AliquotOrderCollection.HasUnvalidatedItems() == false)
                    {
                        this.Finished(this, new EventArgs());
                    }
                }
                else
                {
                    System.Windows.MessageBox.Show("The aliquot scanned does not appear to belong to this specimen.");
                }
            }));
        }
Exemplo n.º 6
0
        public CuttingPage(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
            YellowstonePathology.Business.Test.Model.TestOrder testOrder,
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
            YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter,
            YellowstonePathology.UI.Navigation.PageNavigator pageNavigator)
        {
            this.m_AliquotOrder = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_TestOrder = testOrder;
            this.m_PageNavigator = pageNavigator;
            this.m_HistologySlidePaperLabelPrinter = histologySlidePaperLabelPrinter;

            this.m_SpecimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByAliquotOrderId(this.m_AliquotOrder.AliquotOrderId);
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId);
            this.m_PanelOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelOrderByTestOrderId(this.m_TestOrder.TestOrderId);

            this.m_SystemIdentity = Business.User.SystemIdentity.Instance;

            this.m_ListBoxSlidesMouseDownTimer = new System.Windows.Threading.DispatcherTimer();
            this.m_ListBoxSlidesMouseDownTimer.Interval = new TimeSpan(0, 0, 0, 0, 750);
            this.m_ListBoxSlidesMouseDownTimer.Tick += new EventHandler(ListBoxSlidesMouseDownTimer_Tick);

            this.m_BarcodeScanPort = YellowstonePathology.Business.BarcodeScanning.BarcodeScanPort.Instance;

            InitializeComponent();
            DataContext = this;

            this.m_PageTimeoutTimer = new System.Windows.Threading.DispatcherTimer();
            this.m_PageTimeoutTimer.Interval = TimeSpan.FromMinutes(15);
            this.m_PageTimeoutTimer.Tick += new EventHandler(PageTimeoutTimer_Tick);
            this.m_PageTimeoutTimer.Start();

            this.Loaded += new RoutedEventHandler(CuttingPage_Loaded);
            this.Unloaded += new RoutedEventHandler(CuttingPage_Unloaded);
        }
        public StemCellEnumerationResultPage(YellowstonePathology.Business.Test.StemCellEnumeration.StemCellEnumerationTestOrder panelSetOrder,
                                             YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                             YellowstonePathology.Business.User.SystemIdentity systemIdentity) : base(panelSetOrder, accessionOrder)
        {
            this.m_PanelSetOrder  = panelSetOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_PageHeaderText = this.m_PanelSetOrder.PanelSetName + " Results For: " + this.m_AccessionOrder.PatientDisplayName + " (" + this.m_PanelSetOrder.ReportNo + ")";

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            InitializeComponent();
            this.DataContext = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
Exemplo n.º 8
0
 private void ResendPantherOrder(YellowstonePathology.Business.Test.PantherOrderListItem pantherOrderListItem, YellowstonePathology.Business.HL7View.Panther.PantherAssay pantherAssay)
 {
     YellowstonePathology.Business.Test.AccessionOrder accessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(pantherOrderListItem.MasterAccessionNo, this);
     YellowstonePathology.Business.Persistence.DocumentGateway.Instance.ReleaseLock(accessionOrder, this);
     if (accessionOrder.SpecimenOrderCollection.HasThinPrepFluidSpecimen() == true)
     {
         YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = accessionOrder.SpecimenOrderCollection.GetThinPrep();
         if (specimenOrder.AliquotOrderCollection.HasPantherAliquot() == true)
         {
             YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = specimenOrder.AliquotOrderCollection.GetPantherAliquot();
             YellowstonePathology.Business.Test.PanelSetOrder           panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(pantherOrderListItem.ReportNo);
             YellowstonePathology.Business.HL7View.Panther.PantherOrder pantherOrder  = new Business.HL7View.Panther.PantherOrder(pantherAssay, specimenOrder, aliquotOrder, accessionOrder, panelSetOrder, YellowstonePathology.Business.HL7View.Panther.PantherActionCode.NewSample);
             pantherOrder.Send();
             //MessageBox.Show("An order has been sent to the Panther.");
         }
         else
         {
             MessageBox.Show("No Panther aliquot found.");
         }
     }
     else
     {
         MessageBox.Show("No Thin Prep Fluid Specimen Found.");
     }
 }
        public KRASStandardResultPage(YellowstonePathology.Business.Test.KRASStandard.KRASStandardTestOrder panelSetOrderKRASStandard,
                                      YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                      YellowstonePathology.Business.User.SystemIdentity systemIdentity,
                                      YellowstonePathology.UI.Navigation.PageNavigator pageNavigator) : base(panelSetOrderKRASStandard, accessionOrder)
        {
            this.m_PanelSetOrder  = panelSetOrderKRASStandard;
            this.m_AccessionOrder = accessionOrder;
            this.m_SystemIdentity = systemIdentity;
            this.m_PageNavigator  = pageNavigator;

            this.m_PageHeaderText = "KRAS Standard Mutation Analysis Results For: " + this.m_AccessionOrder.PatientDisplayName + " (" + this.m_PanelSetOrder.ReportNo + ")";
            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetByAliquotOrderId(this.m_PanelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description + ": " + aliquotOrder.Label;

            this.m_KRASStandardResultCollection          = YellowstonePathology.Business.Test.KRASStandard.KRASStandardResultCollection.GetAll();
            this.m_IndicationCollection                  = YellowstonePathology.Business.Test.IndicationCollection.GetAll();
            this.m_KRASStandardMutationCollection        = new YellowstonePathology.Business.Test.KRASStandard.KRASStandardMutationCollection();
            this.m_KRASStandardResultSelectionCollection = new YellowstonePathology.Business.Test.KRASStandard.KRASStandardResultSelectionCollection();

            InitializeComponent();

            DataContext = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
        public override void Render()
        {
            this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\LynchSyndromeIHCPanel.5.xml";
            base.OpenTemplate();

            this.SetDemographicsV2();
            this.SetReportDistribution();
            this.SetCaseHistory();

            YellowstonePathology.Business.Document.AmendmentSection amendmentSection = new YellowstonePathology.Business.Document.AmendmentSection();
            amendmentSection.SetAmendment(m_PanelSetOrder.AmendmentCollection, this.m_ReportXml, this.m_NameSpaceManager, true);

            YellowstonePathology.Business.Test.LynchSyndrome.PanelSetOrderLynchSyndromeIHC panelSetOrder = (YellowstonePathology.Business.Test.LynchSyndrome.PanelSetOrderLynchSyndromeIHC) this.m_PanelSetOrder;

            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(panelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId);

            string specimenDescription = specimenOrder.Description + ", Block " + aliquotOrder.Label;

            this.ReplaceText("specimen_description", specimenDescription);

            string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime);

            this.SetXmlNodeData("date_time_collected", collectionDateTimeString);

            this.SetXmlNodeData("mlh1_result", panelSetOrder.MLH1Result);
            this.SetXmlNodeData("msh2_result", panelSetOrder.MSH2Result);
            this.SetXmlNodeData("msh6_result", panelSetOrder.MSH6Result);
            this.SetXmlNodeData("pms2_result", panelSetOrder.PMS2Result);

            this.ReplaceText("report_date", BaseData.GetShortDateString(this.m_PanelSetOrder.FinalDate));
            this.ReplaceText("pathologist_signature", this.m_PanelSetOrder.Signature);

            this.SaveReport();
        }
Exemplo n.º 11
0
 public AddSlideOrderVisitor(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.Model.TestOrder testOrder)
     : base(true, false)
 {
     this.m_AliquotOrder = aliquotOrder;
     this.m_TestOrder = testOrder;
     this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;
 }
Exemplo n.º 12
0
        public override void OrderInitialTests(AccessionOrder accessionOrder, YellowstonePathology.Business.Interface.IOrderTarget orderTarget)
        {
            YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest her2AmplificationByISHTest = new YellowstonePathology.Business.Test.HER2AmplificationByISH.HER2AmplificationByISHTest();
            YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfo         = new TestOrderInfo(her2AmplificationByISHTest, orderTarget, true);
            YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Visitor.OrderTestOrderVisitor(testOrderInfo);
            accessionOrder.TakeATrip(orderTestOrderVisitor);

            bool hasSurgical = accessionOrder.PanelSetOrderCollection.Exists(13);

            if (hasSurgical == true)
            {
                string surgicalReportNo = accessionOrder.PanelSetOrderCollection.GetSurgical().ReportNo;
                YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder)orderTarget;

                YellowstonePathology.Business.Test.Model.EstrogenReceptorSemiquant er = new YellowstonePathology.Business.Test.Model.EstrogenReceptorSemiquant();
                YellowstonePathology.Business.Visitor.OrderTestVisitor             orderERTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, er, er.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                accessionOrder.TakeATrip(orderERTestVisitor);

                YellowstonePathology.Business.Test.Model.ProgesteroneReceptorSemiquant pr = new YellowstonePathology.Business.Test.Model.ProgesteroneReceptorSemiquant();
                YellowstonePathology.Business.Visitor.OrderTestVisitor orderPRTestVisitor = new Visitor.OrderTestVisitor(surgicalReportNo, pr, pr.OrderComment, null, false, aliquotOrder, false, false, accessionOrder.TaskOrderCollection);
                accessionOrder.TakeATrip(orderPRTestVisitor);
            }
            else
            {
                YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest erPrSemiQuantitativeTest = new YellowstonePathology.Business.Test.ErPrSemiQuantitative.ErPrSemiQuantitativeTest();
                YellowstonePathology.Business.Test.TestOrderInfo            testOrderInfoERPR         = new TestOrderInfo(erPrSemiQuantitativeTest, orderTarget, true);
                YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitorERPR = new Visitor.OrderTestOrderVisitor(testOrderInfoERPR);
                accessionOrder.TakeATrip(orderTestOrderVisitorERPR);
            }
        }
Exemplo n.º 13
0
 public AbsoluteCD4CountTestOrder(string masterAccessionNo, string reportNo, string objectId,
                                  YellowstonePathology.Business.Test.AbsoluteCD4Count.AbsoluteCD4CountTest panelSet,
                                  YellowstonePathology.Business.Test.AliquotOrder block,
                                  bool distribute)
     : base(masterAccessionNo, reportNo, objectId, panelSet, distribute)
 {
 }
        public ComprehensiveColonCancerProfilePage(YellowstonePathology.Business.Test.ComprehensiveColonCancerProfile.ComprehensiveColonCancerProfile comprehensiveColonCancerProfile,
                                                   YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                                   YellowstonePathology.Business.User.SystemIdentity systemIdentity,
                                                   System.Windows.Visibility backButtonVisibility) : base(comprehensiveColonCancerProfile, accessionOrder)
        {
            this.m_ComprehensiveColonCancerProfile = comprehensiveColonCancerProfile;
            this.m_AccessionOrder       = accessionOrder;
            this.m_SystemIdentity       = systemIdentity;
            this.m_BackButtonVisibility = backButtonVisibility;

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(comprehensiveColonCancerProfile.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(comprehensiveColonCancerProfile.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            this.m_ComprehensiveColonCancerProfileResult = new Business.Test.ComprehensiveColonCancerProfile.ComprehensiveColonCancerProfileResult(this.m_AccessionOrder, this.m_ComprehensiveColonCancerProfile);

            this.m_PageHeaderText = "Comprehensive Colon Cancer Profile: " + this.m_AccessionOrder.PatientDisplayName + " (" + this.m_ComprehensiveColonCancerProfile.ReportNo + ")";

            InitializeComponent();

            DataContext = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonBack);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
Exemplo n.º 15
0
        public void FromAliquotOrder(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_AliquotOrder = aliquotOrder;
            YellowstonePathology.Business.OrderIdParser orderIdParser = new YellowstonePathology.Business.OrderIdParser(accessionOrder.MasterAccessionNo);

            YellowstonePathology.Business.PatientName patientName = new PatientName(accessionOrder.PLastName, accessionOrder.PFirstName);
            this.m_MasterAccessionNo     = orderIdParser.MasterAccessionNo;
            this.m_AliquotOrder          = aliquotOrder;
            this.m_BlockTitle            = aliquotOrder.PrintLabel;
            this.m_Verified              = aliquotOrder.GrossVerified;
            this.m_PatientInitials       = patientName.GetInitials();
            this.m_EmbeddingInstructions = aliquotOrder.EmbeddingInstructions;

            if (accessionOrder.ClientAccessioned == true)
            {
                this.m_ClientAccessionNo = accessionOrder.ClientAccessionNo;
                this.m_ClientAccessioned = true;
            }
            else
            {
                this.m_ClientAccessionNo = null;
                this.m_ClientAccessioned = false;
            }

            if (YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.UseLaserCassettePrinter == false)
            {
                this.m_CassetteColumn = accessionOrder.PrintMateColumnNumber.ToString();
            }
            else
            {
                YellowstonePathology.Business.Common.PrintMateCarousel printMateCarousel = new Common.PrintMateCarousel();
                YellowstonePathology.Business.Common.PrintMateColumn   printMateColumn   = printMateCarousel.GetColumn(accessionOrder.PrintMateColumnNumber);
                this.m_CassetteColumn = printMateColumn.GeneralDataColor.ToString();
            }
        }
Exemplo n.º 16
0
        private void SetOrderedOnDescription(Test.PanelSetOrder panelSetOrder)
        {
            if (panelSetOrder.OrderedOn != null)
            {
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(panelSetOrder.OrderedOn, panelSetOrder.OrderedOnId);
                if (specimenOrder != null)
                {
                    switch (panelSetOrder.OrderedOn)
                    {
                    case YellowstonePathology.Business.OrderedOn.Specimen:
                    case YellowstonePathology.Business.OrderedOn.ThinPrepFluid:
                        panelSetOrder.OrderedOnDescription = specimenOrder.Description;
                        break;

                    case YellowstonePathology.Business.OrderedOn.Aliquot:
                        YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(panelSetOrder.OrderedOnId);
                        panelSetOrder.OrderedOnDescription = specimenOrder.Description + " - " + aliquotOrder.Label;
                        break;

                    default:
                        throw new Exception("Must be Specimen or Aliquot");
                    }
                }
            }
        }
Exemplo n.º 17
0
        private void HistologyBlockScanReceived(YellowstonePathology.Business.BarcodeScanning.Barcode barcode)
        {
            this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Input, new System.Threading.ThreadStart(delegate()
            {
                if (this.m_SpecimenOrder.AliquotOrderCollection.Exists(barcode.ID))
                {
                    YellowstonePathology.Business.Facility.Model.Facility thisFacility = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.FacilityId);
                    string thisLocation = YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.HostName;

                    YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = this.m_SpecimenOrder.AliquotOrderCollection.GetByAliquotOrderId(barcode.ID);
                    string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                    YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog materialTrackingLog = new Business.MaterialTracking.Model.MaterialTrackingLog(objectId, barcode.ID, null, thisFacility.FacilityId, thisFacility.FacilityName,
                                                                                                                                                                           thisLocation, "Block Scanned", "Block Scanned At Gross", "Aliquot", this.m_AccessionOrder.MasterAccessionNo, aliquotOrder.Label, aliquotOrder.ClientAccessioned, this.m_AccessionOrder.ClientAccessionNo);
                    YellowstonePathology.Business.Persistence.DocumentGateway.Instance.InsertDocument(materialTrackingLog, Window.GetWindow(this));

                    aliquotOrder.GrossVerify(this.m_SystemIdentity.User);
                    aliquotOrder.SetLocation(thisFacility, thisLocation);

                    this.GrossBlockManagementView = new Business.View.GrossBlockManagementView(this.m_AccessionOrder, this.m_CaseNotesDocument, this.m_SpecimenOrder);
                    this.SetupSpecimenView();

                    if (this.m_SpecimenOrder.AliquotOrderCollection.HasUnverifiedBlocks() == false)
                    {
                        CustomEventArgs.SpecimenOrderReturnEventArgs specimenOrderReturnEventArgs = new CustomEventArgs.SpecimenOrderReturnEventArgs(this.m_SpecimenOrder);
                        this.Next(this, specimenOrderReturnEventArgs);
                    }
                }
                else
                {
                    MessageBox.Show("The block scanned is not from this specimen.", "Scanned Block Mismatch", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
                                                                                                                       ));
        }
Exemplo n.º 18
0
        public TCellRecepterGammaGeneRearrangementResultPage(YellowstonePathology.Business.Test.TCellRecepterGammaGeneRearrangement.TCellRecepterGammaGeneRearrangementTestOrder tCellRecepterGammaGeneRearrangementTestOrder,
                                                             YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                                             YellowstonePathology.Business.User.SystemIdentity systemIdentity) : base(tCellRecepterGammaGeneRearrangementTestOrder, accessionOrder)
        {
            this.m_PanelSetOrder  = tCellRecepterGammaGeneRearrangementTestOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_PageHeaderText = "T-Cell Recepter Gamma Gene Rearrangement Results For: " + this.m_AccessionOrder.PatientDisplayName;

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            InitializeComponent();

            DataContext = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
        private void ListBoxAliquots_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (this.ListBoxAliquots.SelectedItems.Count != 0)
            {
                YellowstonePathology.Business.Specimen.Model.ThinPrepSlide  thinPrepSlide  = new Business.Specimen.Model.ThinPrepSlide();
                YellowstonePathology.Business.Specimen.Model.PantherAliquot pantherAliquot = new Business.Specimen.Model.PantherAliquot();

                YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = (YellowstonePathology.Business.Test.AliquotOrder) this.ListBoxAliquots.SelectedItem;
                if (aliquotOrder.Status == YellowstonePathology.Business.Slide.Model.SlideStatusEnum.Created.ToString())
                {
                    if (aliquotOrder.AliquotType == thinPrepSlide.AliquotType)
                    {
                        this.PrintThinPrepSlide(aliquotOrder);
                    }
                    else if (aliquotOrder.AliquotType == pantherAliquot.AliquotType)
                    {
                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder      specimenOrder         = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByAliquotOrderId(aliquotOrder.AliquotOrderId);
                        YellowstonePathology.Business.Label.Model.PantherLabel          pantherLabel          = new Business.Label.Model.PantherLabel(aliquotOrder.AliquotOrderId, this.m_AccessionOrder.PatientDisplayName, this.m_AccessionOrder.PBirthdate.Value, specimenOrder.Description);
                        YellowstonePathology.Business.Label.Model.MolecularLabelPrinter molecularLabelPrinter = new Business.Label.Model.MolecularLabelPrinter();
                        molecularLabelPrinter.Queue.Enqueue(pantherLabel);
                        molecularLabelPrinter.Print();
                    }
                    aliquotOrder.Status = YellowstonePathology.Business.TrackedItemStatusEnum.Printed.ToString();
                }

                this.NotifyPropertyChanged(string.Empty);
            }
        }
Exemplo n.º 20
0
        public CuttingPage(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
                           YellowstonePathology.Business.Test.Model.TestOrder testOrder,
                           YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                           YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter,
                           YellowstonePathology.UI.Navigation.PageNavigator pageNavigator)
        {
            this.m_AliquotOrder   = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_TestOrder      = testOrder;
            this.m_PageNavigator  = pageNavigator;
            this.m_HistologySlidePaperLabelPrinter = histologySlidePaperLabelPrinter;

            this.m_SpecimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByAliquotOrderId(this.m_AliquotOrder.AliquotOrderId);
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId);
            this.m_PanelOrder    = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelOrderByTestOrderId(this.m_TestOrder.TestOrderId);

            this.m_SystemIdentity = Business.User.SystemIdentity.Instance;

            this.m_ListBoxSlidesMouseDownTimer          = new System.Windows.Threading.DispatcherTimer();
            this.m_ListBoxSlidesMouseDownTimer.Interval = new TimeSpan(0, 0, 0, 0, 750);
            this.m_ListBoxSlidesMouseDownTimer.Tick    += new EventHandler(ListBoxSlidesMouseDownTimer_Tick);

            this.m_BarcodeScanPort = YellowstonePathology.Business.BarcodeScanning.BarcodeScanPort.Instance;

            InitializeComponent();
            DataContext = this;

            this.Loaded   += new RoutedEventHandler(CuttingPage_Loaded);
            this.Unloaded += new RoutedEventHandler(CuttingPage_Unloaded);
        }
        public ALKForNSCLCByFISHResultPage(YellowstonePathology.Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHTestOrder alkForNSCLCByFISHTestOrder,
                                           YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                           YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            this.m_PanelSetOrder  = alkForNSCLCByFISHTestOrder;
            this.m_AccessionOrder = accessionOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_ResultCollection = new Business.Test.ALKForNSCLCByFISH.ALKForNSCLCByFISHResultCollection();
            this.m_PageHeaderText   = "ALK Results For: " + this.m_AccessionOrder.PatientDisplayName;

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            InitializeComponent();

            DataContext = this;

            this.m_ParentWindow = Window.GetWindow(this);

            Loaded   += ALKForNSCLCByFISHResultPage_Loaded;
            Unloaded += ALKForNSCLCByFISHResultPage_Unloaded;
        }
Exemplo n.º 22
0
        public LynchSyndromeEvaluationResultPage(YellowstonePathology.Business.Test.LynchSyndrome.PanelSetOrderLynchSyndromeEvaluation panelSetOrderLynchSyndromeEvaluation,
                                                 YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                                 YellowstonePathology.Business.User.SystemIdentity systemIdentity,
                                                 System.Windows.Visibility backButtonVisibility) : base(panelSetOrderLynchSyndromeEvaluation, accessionOrder)
        {
            this.m_PanelSetOrderLynchSyndromeEvaluation = panelSetOrderLynchSyndromeEvaluation;
            this.m_AccessionOrder       = accessionOrder;
            this.m_SystemIdentity       = systemIdentity;
            this.m_BackButtonVisibility = backButtonVisibility;

            this.m_LSETypeCollection = new Business.Test.LynchSyndrome.LSETypeCollection();
            this.m_PageHeaderText    = "Lynch Syndrome Evaluation Results For: " + this.m_AccessionOrder.PatientDisplayName + " (" + this.m_PanelSetOrderLynchSyndromeEvaluation.ReportNo + ")";

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(this.m_PanelSetOrderLynchSyndromeEvaluation.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrderLynchSyndromeEvaluation.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description;
            if (aliquotOrder != null)
            {
                this.m_OrderedOnDescription += ": " + aliquotOrder.Label;
            }

            this.FillLSERuleCollection();

            InitializeComponent();
            DataContext = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonBack);
            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
Exemplo n.º 23
0
        private void HandleBlockScanReceived(string aliquotOrderId)
        {
            string masterAccessionNo = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetMasterAccessionNoFromAliquotOrderId(aliquotOrderId);

            this.m_AccessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(masterAccessionNo, Window.GetWindow(this));

            if (this.m_AccessionOrder != null)
            {
                if (this.m_AccessionOrder.IsLockAquiredByMe == true)
                {
                    this.m_AliquotOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(aliquotOrderId);
                    this.AddMaterialTrackingLog(this.m_AliquotOrder);
                    this.AliquotOrderSelected(this, new CustomEventArgs.AliquotOrderAccessionOrderReturnEventArgs(this.m_AliquotOrder, this.m_AccessionOrder));
                }
                else
                {
                    if (this.ShowCaseLockedPage != null)
                    {
                        this.ShowCaseLockedPage(this, new CustomEventArgs.AccessionOrderReturnEventArgs(this.m_AccessionOrder));
                    }
                }
            }
            else
            {
                MessageBox.Show("The block scanned could not be found.");
            }
        }
Exemplo n.º 24
0
        public KRASStandardReflexResultPage(YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTestOrder krasStandardReflexTestOrder,
                                            YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                            YellowstonePathology.Business.User.SystemIdentity systemIdentity,
                                            YellowstonePathology.UI.Navigation.PageNavigator pageNavigator,
                                            System.Windows.Visibility backButtonVisibility) : base(krasStandardReflexTestOrder, accessionOrder)
        {
            this.m_KRASStandardReflexTestOrder = krasStandardReflexTestOrder;
            this.m_AccessionOrder       = accessionOrder;
            this.m_SystemIdentity       = systemIdentity;
            this.m_PageNavigator        = pageNavigator;
            this.m_BackButtonVisibility = backButtonVisibility;

            this.m_IndicationCollection     = YellowstonePathology.Business.Test.IndicationCollection.GetAll();
            this.m_KRASStandardReflexResult = YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexResultFactory.GetResult(this.m_KRASStandardReflexTestOrder.ReportNo, this.m_AccessionOrder);

            this.m_PageHeaderText = "KRAS Standard Reflex Results For: " + this.m_AccessionOrder.PatientDisplayName + " (" + krasStandardReflexTestOrder.ReportNo + ")";
            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetByAliquotOrderId(this.m_KRASStandardReflexTestOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_KRASStandardReflexTestOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description + ": " + aliquotOrder.Label;

            InitializeComponent();

            DataContext = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonBack);
            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
 public PanelSetOrderHer2AmplificationByFishRetired2(string masterAccessionNo, string reportNo, string objectId,
                                                     YellowstonePathology.Business.PanelSet.Model.PanelSet panelSet,
                                                     YellowstonePathology.Business.Test.AliquotOrder block,
                                                     bool distribute)
     : base(masterAccessionNo, reportNo, objectId, panelSet, distribute)
 {
 }
Exemplo n.º 26
0
        private void UpdateLocation()
        {
            YellowstonePathology.Business.Facility.Model.Facility facility = YellowstonePathology.Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId(this.m_MaterialTrackingBatch.ToFacilityId);
            string location = this.m_MaterialTrackingBatch.ToLocation;

            foreach (YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog materialTrackingLog in this.m_MaterialTrackingBatch.MaterialTrackingLogCollection)
            {
                switch (materialTrackingLog.MaterialType)
                {
                case "PSLD":
                case "NGYNSLD":
                case "FNASLD":
                case "Aliquot":
                case "Block":
                case "FrozenBlock":
                    YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAliquotOrder(materialTrackingLog.MaterialId, this);
                    aliquotOrder.SetLocation(facility, location);
                    YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Push(this);
                    break;

                case "Slide":
                    YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullSlideOrder(materialTrackingLog.MaterialId, this);
                    slideOrder.SetLocation(facility, location);
                    YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Push(this);
                    break;

                default:
                    break;
                }
            }
        }
Exemplo n.º 27
0
        private YellowstonePathology.Business.Specimen.Model.Medium GetMedium(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, Collection <YellowstonePathology.Business.Test.Model.TestOrder> testOrders, int index)
        {
            YellowstonePathology.Business.Specimen.Model.Medium medium = null;
            switch (aliquotOrder.AliquotType)
            {
            case "Specimen":
                medium = new SpecimenMedium(aliquotOrder, testOrders, this.m_SpecimenOrder.SpecimenNumber, this.m_SpecimenOrder.Description, index);
                break;

            case "Slide":
                medium = new SlideMedium(aliquotOrder, testOrders, this.m_SpecimenOrder.SpecimenNumber, this.m_SpecimenOrder.Description, index);
                break;

            case "Block":
                medium = new BlockMedium(aliquotOrder, testOrders, this.m_SpecimenOrder.SpecimenNumber, this.m_SpecimenOrder.Description, index);
                break;

            case "FrozenBlock":
                medium = new FrozenBlockMedium(aliquotOrder, testOrders, this.m_SpecimenOrder.SpecimenNumber, this.m_SpecimenOrder.Description, index);
                break;

            case "CellBlock":
                medium = new CellBlockMedium(aliquotOrder, testOrders, this.m_SpecimenOrder.SpecimenNumber, this.m_SpecimenOrder.Description, index);
                break;
            }
            return(medium);
        }
        private void ButtonPrintCytologyLabels_Click(object sender, RoutedEventArgs e)
        {
            if (this.m_AccessionOrder.SpecimenOrderCollection.HasThinPrepFluidSpecimen() == true)
            {
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetThinPrep();
                YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = null;
                if (specimenOrder.AliquotOrderCollection.HasThinPrepSlide() == false)
                {
                    aliquotOrder = specimenOrder.AliquotOrderCollection.AddThinPrepSlide(specimenOrder, this.m_AccessionOrder.AccessionDate.Value);
                }
                else
                {
                    aliquotOrder = specimenOrder.AliquotOrderCollection.GetThinPrepSlide();
                }

                YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2  barcode              = new YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2(Business.BarcodeScanning.BarcodePrefixEnum.PSLD, aliquotOrder.AliquotOrderId);
                YellowstonePathology.Business.BarcodeScanning.CytycBarcode     cytycBarcode         = YellowstonePathology.Business.BarcodeScanning.CytycBarcode.Parse(this.m_AccessionOrder.MasterAccessionNo);
                YellowstonePathology.Business.Label.Model.PAPSlideLabel        papSlideLabel        = new Business.Label.Model.PAPSlideLabel(this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PLastName, barcode, cytycBarcode);
                YellowstonePathology.Business.Label.Model.PAPSlideLabelPrinter papSlideLabelPrinter = new Business.Label.Model.PAPSlideLabelPrinter();
                for (int i = 0; i < 2; i++)
                {
                    papSlideLabelPrinter.Queue.Enqueue(papSlideLabel);
                }
                papSlideLabelPrinter.Print();
            }
            else
            {
                MessageBox.Show("Unable to find a Thin Prep Specimen");
            }
        }
        private void ButtonPrintCytologyNewLabel_Click(object sender, RoutedEventArgs e)
        {
            if (this.m_AccessionOrder.SpecimenOrderCollection.HasThinPrepFluidSpecimen() == true)
            {
                YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetThinPrep();
                YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = null;
                if (specimenOrder.AliquotOrderCollection.HasThinPrepSlide() == false)
                {
                    aliquotOrder = specimenOrder.AliquotOrderCollection.AddThinPrepSlide(specimenOrder, this.m_AccessionOrder.AccessionDate.Value);
                }
                else
                {
                    aliquotOrder = specimenOrder.AliquotOrderCollection.GetThinPrepSlide();
                }

                YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2 barcode      = new YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2(Business.BarcodeScanning.BarcodePrefixEnum.PSLD, aliquotOrder.AliquotOrderId);
                YellowstonePathology.Business.BarcodeScanning.CytycBarcode    cytycBarcode = YellowstonePathology.Business.BarcodeScanning.CytycBarcode.Parse(this.m_AccessionOrder.MasterAccessionNo);
                Business.Label.Model.HologicSlideLabel hologicSlideLabel = new Business.Label.Model.HologicSlideLabel(this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PLastName, barcode, cytycBarcode);
                Business.Label.Model.HologicSlideLabelPrinter.Print(hologicSlideLabel, Business.User.UserPreferenceInstance.Instance.UserPreference.CytologySlideLabelPrinter, 2);
            }
            else
            {
                MessageBox.Show("Unable to find a Thin Prep Specimen");
            }
        }
 private void PrintThinPrepSlide(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
 {
     YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2 barcode      = new YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2(Business.BarcodeScanning.BarcodePrefixEnum.PSLD, aliquotOrder.AliquotOrderId);
     YellowstonePathology.Business.BarcodeScanning.CytycBarcode    cytycBarcode = YellowstonePathology.Business.BarcodeScanning.CytycBarcode.Parse(this.m_AccessionOrder.MasterAccessionNo);
     Business.Label.Model.HologicSlideLabel hologicSlideLabel = new Business.Label.Model.HologicSlideLabel(this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PLastName, barcode, cytycBarcode);
     Business.Label.Model.HologicSlideLabelPrinter.Print(hologicSlideLabel, Business.User.UserPreferenceInstance.Instance.UserPreference.CytologySlideLabelPrinter, 1);
 }
Exemplo n.º 31
0
        public BRAFV600EKResultPage(YellowstonePathology.Business.Test.BRAFV600EK.BRAFV600EKTestOrder panelSetOrderBraf,
                                    YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                                    YellowstonePathology.Business.User.SystemIdentity systemIdentity,
                                    YellowstonePathology.UI.Navigation.PageNavigator pageNavigator,
                                    System.Windows.Visibility backButtonVisibility) : base(panelSetOrderBraf, accessionOrder)
        {
            this.m_PanelSetOrder        = panelSetOrderBraf;
            this.m_AccessionOrder       = accessionOrder;
            this.m_SystemIdentity       = systemIdentity;
            this.m_PageNavigator        = pageNavigator;
            this.m_BackButtonVisibility = backButtonVisibility;

            this.m_PageHeaderText = "BRAF V600E/K Mutation Analysis Results For: " + this.m_AccessionOrder.PatientDisplayName + " (" + panelSetOrderBraf.ReportNo + ")";
            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetByAliquotOrderId(this.m_PanelSetOrder.OrderedOnId);
            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(this.m_PanelSetOrder.OrderedOnId);
            this.m_OrderedOnDescription = specimenOrder.Description + ": " + aliquotOrder.Label;

            this.m_IndicationCollection = YellowstonePathology.Business.Test.IndicationCollection.GetAll();
            this.m_ResultCollection     = YellowstonePathology.Business.Test.BRAFV600EK.BRAFV600EKResultCollection.GetUniqueResultChoices();

            InitializeComponent();

            this.m_ParentWindow = Window.GetWindow(this);
            DataContext         = this;

            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonBack);
            this.m_ControlsNotDisabledOnFinal.Add(this.ButtonNext);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockShowDocument);
            this.m_ControlsNotDisabledOnFinal.Add(this.TextBlockUnfinalResults);
        }
        public override void Render()
        {
            this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\EGFRMutationAnalysis.1.xml";
            base.OpenTemplate();

            this.SetDemographicsV2();
            this.SetReportDistribution();
            this.SetCaseHistory();

            YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(m_PanelSetOrder.ReportNo);
            YellowstonePathology.Business.Document.AmendmentSection           amendmentSection    = new YellowstonePathology.Business.Document.AmendmentSection();
            amendmentSection.SetAmendment(amendmentCollection, this.m_ReportXml, this.m_NameSpaceManager, true);

            YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTestOrder egfrMutationAnalysisTestOrder = (YellowstonePathology.Business.Test.EGFRMutationAnalysis.EGFRMutationAnalysisTestOrder) this.m_PanelSetOrder;

            YellowstonePathology.Business.Test.AliquotOrder            aliquotOrder  = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(egfrMutationAnalysisTestOrder.OrderedOnId);
            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(egfrMutationAnalysisTestOrder.OrderedOn, egfrMutationAnalysisTestOrder.OrderedOnId);

            string specimenDescription = specimenOrder.Description + ", Block " + aliquotOrder.Label;

            this.ReplaceText("specimen_description", specimenDescription);

            string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime);

            this.SetXmlNodeData("date_time_collected", collectionDateTimeString);

            this.SetXMLNodeParagraphData("report_result", egfrMutationAnalysisTestOrder.Result);
            this.SetXMLNodeParagraphData("report_comment", egfrMutationAnalysisTestOrder.Comment);
            this.SetXMLNodeParagraphData("report_interpretation", egfrMutationAnalysisTestOrder.Interpretation);

            this.ReplaceText("report_indication", egfrMutationAnalysisTestOrder.Indication);
            this.ReplaceText("tumor_nuclei_percentage", egfrMutationAnalysisTestOrder.TumorNucleiPercentage);

            if (egfrMutationAnalysisTestOrder.MicrodissectionPerformed == true)
            {
                this.ReplaceText("microdissection_performed", "Yes");
            }
            else
            {
                this.ReplaceText("microdissection_performed", "No");
            }

            this.SetXMLNodeParagraphData("report_method", egfrMutationAnalysisTestOrder.Method);
            this.SetXMLNodeParagraphData("report_references", egfrMutationAnalysisTestOrder.ReportReferences);
            this.SetXMLNodeParagraphData("report_disclaimer", egfrMutationAnalysisTestOrder.ReportDisclaimer);

            if (string.IsNullOrEmpty(this.m_PanelSetOrder.ReferenceLabSignature) == false)
            {
                this.ReplaceText("report_date", BaseData.GetShortDateString(this.m_PanelSetOrder.ReferenceLabFinalDate));
                this.ReplaceText("pathologist_signature", this.m_PanelSetOrder.ReferenceLabSignature);
            }
            else
            {
                this.ReplaceText("report_date", BaseData.GetShortDateString(this.m_PanelSetOrder.FinalDate));
                this.ReplaceText("pathologist_signature", this.m_PanelSetOrder.Signature);
            }

            this.SaveReport();
        }
Exemplo n.º 33
0
 public Medium(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, Collection<YellowstonePathology.Business.Test.Model.TestOrder> testOrders, int specimenNumber, string specimenDescription, int aliquotIndex)
 {
     this.m_AliquotLetterList = new YellowstonePathology.Business.Specimen.Model.AliquotLetterList();
     this.m_AliquotOrder = aliquotOrder;
     this.m_TestOrderItems = testOrders;
     this.m_SpecimenNumber = specimenNumber;
     this.m_AliquotIndex = aliquotIndex;
 }
Exemplo n.º 34
0
 public PantherORC(YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
     YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder, string actionCode)
 {
     this.m_SpecimenOrder = specimenOrder;
     this.m_AliquotOrder = aliquotOrder;
     this.m_PanelSetOrder = panelSetOrder;
     this.m_ActionCode = actionCode;
 }
        public TestOrderSelectionPage(TestOrderPanelSetOrderViewCollection testOrderPanelSetOrderViewCollection, 
            YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
            YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_TestOrderPanelSetOrderViewCollection = testOrderPanelSetOrderViewCollection;
            this.m_AliquotOrder = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;

            InitializeComponent();
            DataContext = this;
        }
Exemplo n.º 36
0
        public BlockOptionsPage(YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder,
			YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_SpecimenOrder = specimenOrder;
            this.m_AliquotOrder = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;

            this.m_EmbeddingInstructionList = new Business.Specimen.Model.EmbeddingInstructionList();

            InitializeComponent();
            DataContext = this;
        }
Exemplo n.º 37
0
        public OrderTestAuditVisitor(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
            : base(true, true)
        {
            this.m_TestOrder = testOrder;
            this.m_AliquotOrder = aliquotOrder;

            this.m_TestOrderHasBeenAddedToRightSide = false;
            this.m_TestOrderHasBeenAddedToLeftSide = false;
            this.m_TestOrderIsInUnacknowledgedPanelOrder = false;
            this.m_StainResultHasBeenAdded = false;
            this.m_ICHasBeenAdded = false;

            this.HandleItemsWhereVisitingIsNotNecessary();
        }
Exemplo n.º 38
0
        public StainOrderPage(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, 
            YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_AliquotOrder = aliquotOrder;
            this.m_SpecimenOrder = specimenOrder;
            this.m_SystemIdentity = systemIdentity;

            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetSurgical();
            this.m_TestOrderCollection = this.m_PanelSetOrder.GetTestOrderCollection(this.m_AliquotOrder.AliquotOrderId);

            InitializeComponent();
            DataContext = this;
        }
Exemplo n.º 39
0
        public OrderTestVisitor(string reportNo, YellowstonePathology.Business.Test.Model.Test test, string testOrderComment, string panelOrderComment, bool orderedAsDual,
			YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, bool acknowledgeOnOrder, bool orderAsSlide,
            YellowstonePathology.Business.Task.Model.TaskOrderCollection taskOrderCollection)
            : base(true, true)
        {
            this.m_ReportNo = reportNo;
            this.m_Test = test;
            this.m_OrderedAsDual = orderedAsDual;
            this.m_TestOrderComment = testOrderComment;
            this.m_PanelOrderComment = panelOrderComment;
            this.m_AliquotOrder = aliquotOrder;
            this.m_SystemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;
            this.m_AcknowledgeOnOrder = acknowledgeOnOrder;
            this.m_OrderAsSlide = orderAsSlide;
            this.m_TaskOrderCollection = taskOrderCollection;
        }
Exemplo n.º 40
0
        public SlideLabel(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_AliquotOrder = aliquotOrder;
            this.m_AccessionOrder = accessionOrder;

            this.m_MasterAccessionNo = accessionOrder.MasterAccessionNo;
            YellowstonePathology.Business.Patient.Model.Patient patient = new YellowstonePathology.Business.Patient.Model.Patient(accessionOrder.PFirstName, accessionOrder.PLastName);
            this.m_TruncatedFirstName = patient.GetTruncatedFirstName(12);
            this.m_TruncatedLastName = patient.GetTruncatedLastName(12);
            this.m_SlideId = aliquotOrder.Label;

            YellowstonePathology.Business.Facility.Model.FacilityCollection facilityCollection = YellowstonePathology.Business.Facility.Model.FacilityCollection.GetAllFacilities();
            YellowstonePathology.Business.Facility.Model.Facility facility = facilityCollection.GetByFacilityId(accessionOrder.AccessioningFacilityId);

            this.m_LocationDescription = facility.LocationAbbreviation;
        }
Exemplo n.º 41
0
        private void HandleBlockScanReceived(string aliquotOrderId)
        {
            string masterAccessionNo = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetMasterAccessionNoFromAliquotOrderId(aliquotOrderId);
            this.m_AccessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(masterAccessionNo, Window.GetWindow(this));

            if (this.m_AccessionOrder != null)
            {
                if(this.m_AccessionOrder.IsLockAquiredByMe == true)
                {
                    this.m_AliquotOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetAliquotOrder(aliquotOrderId);
                    this.AddMaterialTrackingLog(this.m_AliquotOrder);
                    this.AliquotOrderSelected(this, new CustomEventArgs.AliquotOrderAccessionOrderReturnEventArgs(this.m_AliquotOrder, this.m_AccessionOrder));
                }
                else
                {
                    if (this.ShowCaseLockedPage != null) this.ShowCaseLockedPage(this, new CustomEventArgs.AccessionOrderReturnEventArgs(this.m_AccessionOrder));
                }
            }
            else
            {
                MessageBox.Show("The block scanned could not be found.");
            }
        }
 public AliquotOrderAccessionOrderReturnEventArgs(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, 
     YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
 {
     this.m_AliquotOrder = aliquotOrder;
     this.m_AccessionOrder = accessionOrder;
 }
Exemplo n.º 43
0
        public void FromAliquotOrder(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            this.m_AliquotOrder = aliquotOrder;
            YellowstonePathology.Business.OrderIdParser orderIdParser = new YellowstonePathology.Business.OrderIdParser(accessionOrder.MasterAccessionNo);

            YellowstonePathology.Business.PatientName patientName = new PatientName(accessionOrder.PLastName, accessionOrder.PFirstName);
            this.m_MasterAccessionNo = orderIdParser.MasterAccessionNo;
            this.m_AliquotOrder = aliquotOrder;
            this.m_BlockTitle = aliquotOrder.PrintLabel;
            this.m_Verified = aliquotOrder.GrossVerified;
            this.m_PatientInitials = patientName.GetInitials();
            this.m_EmbeddingInstructions = aliquotOrder.EmbeddingInstructions;

            if(accessionOrder.ClientAccessioned == true)
            {
                this.m_ClientAccessionNo = accessionOrder.ClientAccessionNo;
                this.m_ClientAccessioned = true;
            }
            else
            {
                this.m_ClientAccessionNo = null;
                this.m_ClientAccessioned = false;
            }

            if(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.UseLaserCassettePrinter == false)
            {
                this.m_CassetteColumn = accessionOrder.PrintMateColumnNumber.ToString();
            }
            else
            {
                YellowstonePathology.Business.Common.PrintMateCarousel printMateCarousel = new Common.PrintMateCarousel();
                YellowstonePathology.Business.Common.PrintMateColumn printMateColumn = printMateCarousel.GetColumn(accessionOrder.PrintMateColumnNumber);
                this.m_CassetteColumn = printMateColumn.GeneralDataColor.ToString();
            }
        }
 public RemoveAliquotOrderVisitor(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
     : base(true, true)
 {
     this.m_AliquotOrder = aliquotOrder;
 }
 public TestOrderAliquotOrderReturnEventArgs(YellowstonePathology.Business.Test.Model.TestOrder testOrder, YellowstonePathology.Business.Test.AliquotOrder aliquotOrder)
 {
     this.m_TestOrder = testOrder;
     this.m_AliquotOrder = aliquotOrder;
 }