Exemplo n.º 1
0
        private void CheckBoxSlideClientAccessioned_Unchecked(object sender, RoutedEventArgs e)
        {
            CheckBox checkBox = (CheckBox)sender;

            YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = (YellowstonePathology.Business.Slide.Model.SlideOrder)checkBox.Tag;
            slideOrder.Status = YellowstonePathology.Business.Slide.Model.SlideStatusEnum.Created.ToString();
        }
Exemplo n.º 2
0
 private void HandleClientAccessionedStainResult()
 {
     if (this.m_AccessionOrder.PanelSetOrderCollection.HasSurgical() == true)
     {
         YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder surgicalTestOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetSurgical();
         foreach (YellowstonePathology.Business.Test.Surgical.SurgicalSpecimen surgicalSpecimen in surgicalTestOrder.SurgicalSpecimenCollection)
         {
             foreach (YellowstonePathology.Business.SpecialStain.StainResultItem stainResult in surgicalSpecimen.StainResultItemCollection)
             {
                 if (this.m_AccessionOrder.SpecimenOrderCollection.SlideOrderExists(stainResult.TestOrderId) == true)
                 {
                     YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSlideOrderByTestOrderId(stainResult.TestOrderId);
                     if (slideOrder.ClientAccessioned == true)
                     {
                         stainResult.ClientAccessioned = true;
                         stainResult.Billable          = false;
                         stainResult.NoCharge          = true;
                     }
                     else
                     {
                         stainResult.ClientAccessioned = false;
                         stainResult.Billable          = true;
                         stainResult.NoCharge          = false;
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 3
0
        private void BarcodeScanPort_HistologySlideScanReceived(Business.BarcodeScanning.Barcode barcode)
        {
            this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
                                   new Action(
                                       delegate()
            {
                if (this.m_AliquotOrder.SlideOrderCollection.Exists(barcode.ID) == true)
                {
                    YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder    = this.m_AliquotOrder.SlideOrderCollection.Get(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;

                    this.AddMaterialTrackingLog(slideOrder, thisFacility, thisLocation);
                    slideOrder.SetLocation(thisFacility, thisLocation);

                    if (slideOrder.Validated == false)
                    {
                        slideOrder.Validate(this.m_SystemIdentity);
                        if (this.m_AliquotOrder.SlideOrderCollection.IsLastSlide(barcode.ID) == true)
                        {
                            this.Finished(this, new YellowstonePathology.UI.CustomEventArgs.MasterAccessionNoReturnEventArgs(this.m_AccessionOrder.MasterAccessionNo));
                        }
                    }
                }
                else
                {
                    MessageBox.Show("This slide does not belong to the current block");
                }
            }));
        }
Exemplo n.º 4
0
        private void ListBoxSlides_MouseUp(object sender, MouseButtonEventArgs e)
        {
            this.m_ListBoxSlidesMouseDownTimer.Stop();
            if (this.ListBoxSlideOrderCollection.SelectedItems.Count != 0)
            {
                YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = (YellowstonePathology.Business.Slide.Model.SlideOrder) this.ListBoxSlideOrderCollection.SelectedItem;
                if (slideOrder.Status == YellowstonePathology.Business.Slide.Model.SlideStatusEnum.Created.ToString())
                {
                    if (slideOrder.LabelType == YellowstonePathology.Business.Slide.Model.SlideLabelTypeEnum.DirectPrint.ToString())
                    {
                        this.PrintSlide(slideOrder);
                        slideOrder.Status  = YellowstonePathology.Business.Slide.Model.SlideStatusEnum.Printed.ToString();
                        slideOrder.Printed = true;
                    }
                    else if (slideOrder.LabelType == YellowstonePathology.Business.Slide.Model.SlideLabelTypeEnum.PaperLabel.ToString())
                    {
                        slideOrder.Status  = YellowstonePathology.Business.Slide.Model.SlideStatusEnum.Printed.ToString();
                        slideOrder.Printed = true;

                        YellowstonePathology.Business.Label.Model.HistologySlidePaperLabel histologySlidePaperLabel = new Business.Label.Model.HistologySlidePaperLabel(slideOrder.SlideOrderId, slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.AccessioningFacility);
                        this.m_HistologySlidePaperLabelPrinter.Queue.Enqueue(histologySlidePaperLabel);
                        this.ShowTestOrderSelectionPage(this, new CustomEventArgs.AliquotOrderReturnEventArgs(this.m_AliquotOrder));
                    }
                }
                else if (slideOrder.Status == YellowstonePathology.Business.Slide.Model.SlideStatusEnum.ClientAccessioned.ToString())
                {
                    MessageBox.Show("This is a client accessioned slide and cannot be printed.");
                }

                Business.HL7View.VentanaStainOrder ventanaStainOrder = new Business.HL7View.VentanaStainOrder();
                ventanaStainOrder.HandleOrder(this.m_AccessionOrder, slideOrder);
                this.NotifyPropertyChanged(string.Empty);
            }
        }
Exemplo n.º 5
0
        public static YellowstonePathology.Business.Slide.Model.SlideOrder GetSlideOrder(string slideOrderId)
        {
            YellowstonePathology.Business.Slide.Model.SlideOrder result = null;

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "Select * from tblSlideOrder where SlideOrderid = @SlideOrderId";
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.Parameters.Add("@SlideOrderId", System.Data.SqlDbType.VarChar).Value = slideOrderId;

            using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ProductionConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        result = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new Persistence.SqlDataReaderPropertyWriter(result, dr);
                        propertyWriter.WriteProperties();
                    }
                }
            }

            return(result);
        }
Exemplo n.º 6
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;
                }
            }
        }
        private void CheckBoxSlideClientAccessioned_Unchecked(object sender, RoutedEventArgs e)
        {
            CheckBox checkBox     = (CheckBox)sender;
            string   slideOrderId = checkBox.Tag.ToString();

            YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSlideOrder(slideOrderId);
            slideOrder.ClientAccessioned = false;
        }
Exemplo n.º 8
0
 private void PrintSlide(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
 {
     YellowstonePathology.Business.Label.Model.HistologySlideLabel histologySlideLabel = new Business.Label.Model.HistologySlideLabel(slideOrder.SlideOrderId, slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.AccessioningFacility, this.m_AccessionOrder);
     YellowstonePathology.Business.Label.Model.ThermoFisherHistologySlidePrinter thermoFisherSlidePrinter = new Business.Label.Model.ThermoFisherHistologySlidePrinter();
     thermoFisherSlidePrinter.Queue.Enqueue(histologySlideLabel);
     thermoFisherSlidePrinter.Print();
     slideOrder.SetAsPrinted(this.m_SystemIdentity);
 }
Exemplo n.º 9
0
        private void AddMaterialTrackingLog(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder, YellowstonePathology.Business.Facility.Model.Facility thisFacility, string thisLocation)
        {
            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog materialTrackingLog = new Business.MaterialTracking.Model.MaterialTrackingLog(objectId, slideOrder.SlideOrderId, null, thisFacility.FacilityId, thisFacility.FacilityName,
                                                                                                                                                                   thisLocation, "Slide Scanned", "Slide Scanned At Cutting", "SlideOrder", this.m_AccessionOrder.MasterAccessionNo, slideOrder.Label, slideOrder.ClientAccessioned, this.m_AccessionOrder.ClientAccessionNo);
            YellowstonePathology.Business.Persistence.DocumentGateway.Instance.InsertDocument(materialTrackingLog, Window.GetWindow(this));
        }
Exemplo n.º 10
0
 private void ListBoxSlides_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.ListBoxSlides.SelectedItem != null)
     {
         YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = (YellowstonePathology.Business.Slide.Model.SlideOrder) this.ListBoxSlides.SelectedItem;
         this.m_SlideTrackingLogCollection = YellowstonePathology.Business.Gateway.SlideAccessionGateway.GetMaterialTrackingLogCollectionByMaterialId(slideOrder.SlideOrderId.ToString());
         NotifyPropertyChanged("SlideTrackingLogCollection");
     }
 }
Exemplo n.º 11
0
        public HistologySlideLabelDocument(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            this.m_PrintDocument       = new System.Drawing.Printing.PrintDocument();
            this.m_HistologySlideQueue = new Queue <Business.BarcodeScanning.HistologySlide>();

            YellowstonePathology.Business.BarcodeScanning.HistologySlide histologySlide = new Business.BarcodeScanning.HistologySlide(slideOrder.SlideOrderId,
                                                                                                                                      slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestName, slideOrder.Location);
            this.m_HistologySlideQueue.Enqueue(histologySlide);
        }
Exemplo n.º 12
0
        private void PrintSlide(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            YellowstonePathology.Business.BarcodeScanning.BarcodeVersion2 barcode             = new Business.BarcodeScanning.BarcodeVersion2(Business.BarcodeScanning.BarcodePrefixEnum.HSLD, slideOrder.SlideOrderId);
            YellowstonePathology.Business.Label.Model.HistologySlideLabel histologySlideLabel = new Business.Label.Model.HistologySlideLabel(slideOrder.SlideOrderId, slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.Location);
            YellowstonePathology.Business.Label.Model.ThermoFisherHistologySlidePrinter thermoFisherSlidePrinter = new Business.Label.Model.ThermoFisherHistologySlidePrinter();
            thermoFisherSlidePrinter.Queue.Enqueue(histologySlideLabel);
            thermoFisherSlidePrinter.Print();

            slideOrder.SetAsPrinted(this.m_SystemIdentity);
        }
Exemplo n.º 13
0
 public void UpdateSlideLocation(string slideOrderId)
 {
     if (this.m_AccessionOrder.AccessionLock.IsLockAquiredByMe == true)
     {
         YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSlideOrder(slideOrderId);
         if (slideOrder != null)
         {
             slideOrder.SetLocation(this.m_Facility, this.m_Location);
         }
     }
 }
Exemplo n.º 14
0
        private void BuildSlideOrderTestOrder(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder, XElement slideOrderElement)
        {
            XElement testOrderElement = slideOrderElement.Element("TestOrder");

            if (testOrderElement != null)
            {
                YellowstonePathology.Business.Test.Model.TestOrder          testOrder         = new YellowstonePathology.Business.Test.Model.TestOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(testOrderElement, testOrder);
                xmlPropertyWriter.Write();
                slideOrder.TestOrder = testOrder;
            }
        }
Exemplo n.º 15
0
 private void HandleSlideScanReceived(string slideOrderId)
 {
     YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSlideOrder(slideOrderId);
     if (slideOrder != null)
     {
         this.AddMaterialTrackingLog(slideOrder);
     }
     else
     {
         MessageBox.Show("This slide does not belong to this case.");
     }
 }
Exemplo n.º 16
0
        private void CheckBoxSlideOrder_Checked(object sender, RoutedEventArgs e)
        {
            CheckBox checkBox = (CheckBox)sender;

            YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = (YellowstonePathology.Business.Slide.Model.SlideOrder)checkBox.Tag;
            if (this.m_MaterialIdList.Contains(slideOrder.SlideOrderId) == false)
            {
                this.m_MaterialIdList.Add(slideOrder.SlideOrderId);
                this.m_MaterialTrackingLogList = this.m_MaterialTrackingLogCollection.GetList(this.m_MaterialIdList);
                this.NotifyPropertyChanged("MaterialTrackingLogList");
            }
        }
Exemplo n.º 17
0
        private void BuildAliquotOrderSlideOrderCollection(YellowstonePathology.Business.Test.AliquotOrder aliquotOrder, XElement aliquotOrderElement)
        {
            List <XElement> slideOrderElements = (from item in aliquotOrderElement.Elements("SlideOrderCollection")
                                                  select item).ToList <XElement>();

            foreach (XElement slideOrderElement in slideOrderElements.Elements("SlideOrder"))
            {
                YellowstonePathology.Business.Slide.Model.SlideOrder        slideOrder        = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new YellowstonePathology.Business.Persistence.XmlPropertyWriter(slideOrderElement, slideOrder);
                xmlPropertyWriter.Write();
                aliquotOrder.SlideOrderCollection.Add(slideOrder);
            }
        }
Exemplo n.º 18
0
        private void ListBoxSlidesMouseDownTimer_Tick(object sender, EventArgs e)
        {
            this.m_ListBoxSlidesMouseDownTimer.Stop();
            YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = (YellowstonePathology.Business.Slide.Model.SlideOrder) this.ListBoxSlideOrderCollection.SelectedItem;

            SlideOptionsPage slideOptionsPage = new SlideOptionsPage(slideOrder);

            slideOptionsPage.DeleteSlideOrder += new SlideOptionsPage.DeleteSlideOrderEventHandler(SlideOptionsPage_DeleteSlideOrder);
            slideOptionsPage.PrintSlide       += new SlideOptionsPage.PrintSlideEventHandler(SlideOptionsPage_PrintSlide);
            slideOptionsPage.PrintPaperLabel  += new SlideOptionsPage.PrintPaperLabelEventHandler(SlideOptionsPage_PrintPaperLabel);
            slideOptionsPage.Close            += new SlideOptionsPage.CloseEventHandler(SlideOptionsPage_Close);
            this.m_PageNavigator.Navigate(slideOptionsPage);
        }
Exemplo n.º 19
0
        private void AddMaterialTrackingLog(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            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);

            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog materialTrackingLog = new Business.MaterialTracking.Model.MaterialTrackingLog(objectId, slideOrder.SlideOrderId, null, thisFacility.FacilityId, thisFacility.FacilityName,
                                                                                                                                                                   thisLocation.LocationId, thisLocation.Description, "Slide Scanned", "Slide Scanned At Cutting", "SlideOrder", this.m_AccessionOrder.MasterAccessionNo, slideOrder.Label, slideOrder.ClientAccessioned);
            YellowstonePathology.Business.Persistence.DocumentGateway.Instance.InsertDocument(materialTrackingLog, Window.GetWindow(this));
        }
Exemplo n.º 20
0
        private void PrintPaperLabel(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog();
            System.Printing.PrintServer         printServer = new System.Printing.LocalPrintServer();

            System.Printing.PrintQueue printQueue = printServer.GetPrintQueue(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.HistologySlideLabelPrinter);
            printDialog.PrintQueue = printQueue;

            YellowstonePathology.Business.Label.Model.HistologySlidePaperLabel histologySlidePaperLabel = new Business.Label.Model.HistologySlidePaperLabel(slideOrder.SlideOrderId,
                                                                                                                                                            slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.AccessioningFacility);
            YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter = new Business.Label.Model.HistologySlidePaperLabelPrinter();
            histologySlidePaperLabelPrinter.Queue.Enqueue(histologySlidePaperLabel);
            histologySlidePaperLabelPrinter.Print();
        }
Exemplo n.º 21
0
        private void AddMaterialTrackingLog(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            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;
            string scanLocation = "Slide Scanned At " + thisLocation;

            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog materialTrackingLog = new Business.MaterialTracking.Model.MaterialTrackingLog(objectId, slideOrder.SlideOrderId, null, thisFacility.FacilityId, thisFacility.FacilityName,
                                                                                                                                                                   thisLocation, "Slide Scan", scanLocation, "SlideOrder", this.m_AccessionOrder.MasterAccessionNo, slideOrder.Label, slideOrder.ClientAccessioned, this.m_AccessionOrder.ClientAccessionNo);

            YellowstonePathology.Business.Persistence.DocumentGateway.Instance.InsertDocument(materialTrackingLog, Window.GetWindow(this));
            this.m_MaterialTrackingLogCollection.Insert(0, materialTrackingLog);
        }
Exemplo n.º 22
0
 private void Build(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
 {
     using (MySqlConnection cn = new MySqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
     {
         cn.Open();
         this.m_SQLCommand.Connection = cn;
         using (MySqlDataReader dr = this.m_SQLCommand.ExecuteReader())
         {
             while (dr.Read())
             {
                 YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(slideOrder, dr);
                 sqlDataReaderPropertyWriter.WriteProperties();
             }
         }
     }
 }
Exemplo n.º 23
0
 public YellowstonePathology.Business.Slide.Model.SlideOrder GetSlideOrderByTestOrderId(string testOrderId)
 {
     YellowstonePathology.Business.Slide.Model.SlideOrder result = null;
     foreach (SpecimenOrder specimenOrder in this)
     {
         foreach (YellowstonePathology.Business.Test.AliquotOrder aliquotOrder in specimenOrder.AliquotOrderCollection)
         {
             if (aliquotOrder.SlideOrderCollection.TestOrderExists(testOrderId) == true)
             {
                 result = aliquotOrder.SlideOrderCollection.GetSlideOrderByTestOrderId(testOrderId);
                 break;
             }
         }
     }
     return(result);
 }
Exemplo n.º 24
0
        public void HandleOrder(Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            if (slideOrder.LabelType == YellowstonePathology.Business.Slide.Model.SlideLabelTypeEnum.PaperLabel.ToString())
            {
                Business.Stain.Model.Stain stain = Business.Stain.Model.StainCollection.Instance.GetStainByTestId(slideOrder.TestId);
                if (slideOrder.PerformedByHand == false || stain.PerformedByHand == false)
                {
                    if (slideOrder.OrderSentToVentana == false)
                    {
                        if (this.CanBuild(accessionOrder, slideOrder.TestOrderId, slideOrder.SlideOrderId) == true)
                        {
                            string result = this.Build(accessionOrder, slideOrder.TestOrderId, slideOrder.SlideOrderId);
                            slideOrder.OrderSentToVentana = true;

                            YellowstonePathology.Business.Test.Model.TestOrder testOrder = accessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(slideOrder.TestOrderId);
                            testOrder.TestStatus           = "CUTTING";
                            testOrder.TestStatusUpdateTime = DateTime.Now;

                            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();
                            System.IO.File.WriteAllText(@"\\10.1.2.31\ChannelData\Outgoing\Ventana\" + objectId + ".hl7", result);
                        }
                    }
                }
                else
                {
                    YellowstonePathology.Business.Test.Model.TestOrder testOrder = accessionOrder.PanelSetOrderCollection.GetTestOrderByTestOrderId(slideOrder.TestOrderId);
                    testOrder.TestStatus           = "PERFORMEDBYHAND";
                    testOrder.TestStatusUpdateTime = DateTime.Now;
                }

                Business.Label.Model.ZPLPrinterUSB zplPrinterUSB = new Business.Label.Model.ZPLPrinterUSB();
                Business.Label.Model.HistologySlidePaperZPLLabelV1 zplCommand = new Label.Model.HistologySlidePaperZPLLabelV1(slideOrder.SlideOrderId, slideOrder.ReportNo, slideOrder.PatientFirstName, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.Label, slideOrder.AccessioningFacility, slideOrder.UseWetProtocol, slideOrder.PerformedByHand);
                zplPrinterUSB.Print(zplCommand);

                slideOrder.Printed       = true;
                slideOrder.PrintedBy     = Business.User.SystemIdentity.Instance.User.UserName;
                slideOrder.PrintedById   = Business.User.SystemIdentity.Instance.User.UserId;
                slideOrder.Status        = "Validated";
                slideOrder.Validated     = true;
                slideOrder.ValidatedBy   = Business.User.SystemIdentity.Instance.User.UserName;
                slideOrder.ValidatedById = Business.User.SystemIdentity.Instance.User.UserId;
            }
        }
Exemplo n.º 25
0
 public YellowstonePathology.Business.Slide.Model.SlideOrder GetSlideOrder(string slideOrderId)
 {
     YellowstonePathology.Business.Slide.Model.SlideOrder result = null;
     foreach (YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder in this)
     {
         foreach (YellowstonePathology.Business.Test.AliquotOrder aliquotOrder in specimenOrder.AliquotOrderCollection)
         {
             foreach (YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder in aliquotOrder.SlideOrderCollection)
             {
                 if (slideOrder.SlideOrderId == slideOrderId)
                 {
                     result = slideOrder;
                     break;
                 }
             }
         }
     }
     return(result);
 }
Exemplo n.º 26
0
        private void CheckBoxSlideOrder_Unchecked(object sender, RoutedEventArgs e)
        {
            CheckBox checkBox = (CheckBox)sender;

            YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = (YellowstonePathology.Business.Slide.Model.SlideOrder)checkBox.Tag;
            if (this.m_MaterialIdList.Contains(slideOrder.SlideOrderId) == true)
            {
                this.m_MaterialIdList.Remove(slideOrder.SlideOrderId);
                if (this.m_MaterialIdList.Count > 0)
                {
                    this.m_MaterialTrackingLogList = this.m_MaterialTrackingLogCollection.GetList(this.m_MaterialIdList);
                }
                else
                {
                    this.m_MaterialTrackingLogList = this.m_MaterialTrackingLogCollection.ToList <YellowstonePathology.Business.MaterialTracking.Model.MaterialTrackingLog>();
                }
                this.NotifyPropertyChanged("MaterialTrackingLogList");
            }
        }
Exemplo n.º 27
0
 private static YellowstonePathology.Business.Slide.Model.SlideOrderCollection BuildSlideOrderCollection(SqlCommand cmd)
 {
     YellowstonePathology.Business.Slide.Model.SlideOrderCollection result = new YellowstonePathology.Business.Slide.Model.SlideOrderCollection();
     using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ProductionConnectionString))
     {
         cn.Open();
         cmd.Connection = cn;
         using (SqlDataReader dr = cmd.ExecuteReader())
         {
             while (dr.Read())
             {
                 YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                 YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(slideOrder, dr);
                 sqlDataReaderPropertyWriter.WriteProperties();
                 result.Add(slideOrder);
             }
         }
     }
     return(result);
 }
        private void ButtonDelete_Click(object sender, RoutedEventArgs e)
        {
            List <string> selectedSlideOrderIds = this.m_AliquotAndStainOrderView.GetSelectedSlideOrderIds();

            foreach (string slideOrderId in selectedSlideOrderIds)
            {
                YellowstonePathology.Business.Slide.Model.SlideOrder          slideOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSlideOrder(slideOrderId);
                YellowstonePathology.Business.Visitor.RemoveSlideOrderVisitor removeSlideOrderVisitor = new Business.Visitor.RemoveSlideOrderVisitor(slideOrder);
                this.m_AccessionOrder.TakeATrip(removeSlideOrderVisitor);
            }

            YellowstonePathology.Business.Test.Model.TestOrderCollection selectedTestOrders = this.m_AliquotAndStainOrderView.GetSelectedTestOrders();
            YellowstonePathology.Business.Test.Model.TestCollection      allTests           = YellowstonePathology.Business.Test.Model.TestCollection.GetAllTests();
            foreach (YellowstonePathology.Business.Test.Model.TestOrder testOrder in selectedTestOrders)
            {
                YellowstonePathology.Business.Visitor.RemoveTestOrderVisitor removeTestOrderVisitor = new Business.Visitor.RemoveTestOrderVisitor(testOrder.TestOrderId);
                this.m_AccessionOrder.TakeATrip(removeTestOrderVisitor);

                YellowstonePathology.Business.Test.Model.Test test = allTests.GetTest(testOrder.TestId);
                if (test.NeedsAcknowledgement == true)
                {
                    this.m_StainAcknowledgementTaskOrderVisitor.RemoveTestOrder(testOrder);
                }
            }
            this.m_AccessionOrder.TakeATrip(this.m_StainAcknowledgementTaskOrderVisitor);

            YellowstonePathology.Business.Test.AliquotOrderCollection selectedAliquots = this.m_AliquotAndStainOrderView.GetSelectedAliquots();
            foreach (YellowstonePathology.Business.Test.AliquotOrder aliquotOrder in selectedAliquots)
            {
                YellowstonePathology.Business.Visitor.RemoveAliquotOrderVisitor removeAliquotOrderVisitor = new Business.Visitor.RemoveAliquotOrderVisitor(aliquotOrder);
                this.m_AccessionOrder.TakeATrip(removeAliquotOrderVisitor);
                this.m_AccessionOrder.SpecimenOrderCollection.SetAliquotRequestCount();
            }

            //YellowstonePathology.Business.Persistence.DocumentGateway.Instance.SubmitChanges(this.m_AccessionOrder, false);
            this.m_AliquotAndStainOrderView.Refresh(true, this.m_PanelSetOrder);
            this.NotifyPropertyChanged("AliquotAndStainOrderView");
        }
Exemplo n.º 29
0
 public SlideOptionsPage(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
 {
     this.m_SlideOrder = slideOrder;
     InitializeComponent();
     DataContext = this;
 }
Exemplo n.º 30
0
 private void BuildTestOrderSlideOrderCollection(YellowstonePathology.Business.Test.Model.TestOrder testOrder, XElement testOrderElement)
 {
     List<XElement> slideOrderElements = (from item in testOrderElement.Elements("SlideOrderCollection")
                                                    select item).ToList<XElement>();
     foreach (XElement slideOrderElement in slideOrderElements.Elements("SlideOrder"))
     {
         YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new YellowstonePathology.Business.Slide.Model.SlideOrder();
         YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new YellowstonePathology.Business.Persistence.XmlPropertyWriter(slideOrderElement, slideOrder);
         xmlPropertyWriter.Write();
         testOrder.SlideOrderCollection.Add(slideOrder);
     }
 }
 public SlideOrderReturnEventArgs(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
 {
     this.m_SlideOrder = slideOrder;
 }
 public RemoveSlideOrderVisitor(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
     : base(true, true)
 {
     this.m_SlideOrder = slideOrder;
 }
 public SlideOrderDetailDialog(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
 {
     this.m_SlideOrder = slideOrder;
     InitializeComponent();
     this.DataContext = this.m_SlideOrder;
 }
Exemplo n.º 34
0
        private void BuildTestOrderSlideOrderCollection(YellowstonePathology.Business.Test.Model.TestOrder testOrder, XElement testOrderElement)
        {
            List<XElement> slideOrderElements = (from item in testOrderElement.Elements("SlideOrderCollection")
                                                           select item).ToList<XElement>();

            testOrder.SlideOrderCollection.RemoveDeleted(slideOrderElements.Elements("SlideOrder"));
            foreach (XElement slideOrderElement in slideOrderElements.Elements("SlideOrder"))
            {
                string slideOrderId = slideOrderElement.Element("SlideOrderId").Value;
                YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                if (testOrder.SlideOrderCollection.Exists(slideOrderId) == true)
                {
                    slideOrder = testOrder.SlideOrderCollection.Get(slideOrderId);
                }
                else
                {
                    slideOrder = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                    testOrder.SlideOrderCollection.Add(slideOrder);
                }

                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new YellowstonePathology.Business.Persistence.XmlPropertyWriter(slideOrderElement, slideOrder);
                xmlPropertyWriter.Write();
            }
        }
Exemplo n.º 35
0
 public SlideOptionsPage(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
 {
     this.m_SlideOrder = slideOrder;
     InitializeComponent();
     DataContext = this;
 }
Exemplo n.º 36
0
        public static YellowstonePathology.Business.Slide.Model.SlideOrder GetSlideOrder(string slideOrderId)
        {
            YellowstonePathology.Business.Slide.Model.SlideOrder result = null;

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select * from tblSlideOrder where SlideOrderid = @SlideOrderId";
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.Parameters.Add("@SlideOrderId", System.Data.SqlDbType.VarChar).Value = slideOrderId;

            using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ProductionConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        result = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new Persistence.SqlDataReaderPropertyWriter(result, dr);
                        propertyWriter.WriteProperties();
                    }
                }
            }

            return result;
        }
Exemplo n.º 37
0
 private static YellowstonePathology.Business.Slide.Model.SlideOrderCollection BuildSlideOrderCollection(SqlCommand cmd)
 {
     YellowstonePathology.Business.Slide.Model.SlideOrderCollection result = new YellowstonePathology.Business.Slide.Model.SlideOrderCollection();
     using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ProductionConnectionString))
     {
         cn.Open();
         cmd.Connection = cn;
         using (SqlDataReader dr = cmd.ExecuteReader())
         {
             while (dr.Read())
             {
                 YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new YellowstonePathology.Business.Slide.Model.SlideOrder();
                 YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(slideOrder, dr);
                 sqlDataReaderPropertyWriter.WriteProperties();
                 result.Add(slideOrder);
             }
         }
     }
     return result;
 }