示例#1
0
        public void ButtonFinalize_Click(object sender, RoutedEventArgs args)
        {
            YellowstonePathology.Business.User.SystemUser systemUser = (YellowstonePathology.Business.User.SystemUser) this.comboBoxAmendmentUsers.SelectedItem;
            if (systemUser.UserId > 0)
            {
                YellowstonePathology.Business.Test.OkToFinalizeResult okToFinalizeResult = this.m_Amendment.IsOkToFinalize(this.m_AccessionOrder);
                if (okToFinalizeResult.OK == true)
                {
                    bool canFinal = true;
                    if (okToFinalizeResult.ShowWarningMessage == true)
                    {
                        MessageBoxResult messageBoxResult = MessageBox.Show(okToFinalizeResult.Message, "Issue with the amendment", MessageBoxButton.YesNo, MessageBoxImage.Exclamation, MessageBoxResult.No);
                        if (messageBoxResult == MessageBoxResult.No)
                        {
                            canFinal = false;
                        }
                    }

                    if (canFinal == true)
                    {
                        this.m_Amendment.Finish();
                    }
                }
                else
                {
                    MessageBox.Show(okToFinalizeResult.Message);
                }
            }
            else
            {
                MessageBox.Show("Select a signer from the Amended By choices.", "Amendment signer not selected", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
示例#2
0
 public void Execute(YellowstonePathology.Business.User.SystemUser userPerformingFinal, YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrder, YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
 {
     this.m_UserPerformingFinal = userPerformingFinal;
     this.m_PanelOrder = panelOrder;
     this.m_ExecutionStatus = executionStatus;
     this.m_Rule.Execute(this.m_ExecutionStatus);
 }
示例#3
0
 public void Execute(YellowstonePathology.Business.User.SystemUser userPerformingFinal, YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrder, YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
 {
     this.m_UserPerformingFinal = userPerformingFinal;
     this.m_PanelOrder          = panelOrder;
     this.m_ExecutionStatus     = executionStatus;
     this.m_Rule.Execute(this.m_ExecutionStatus);
 }
示例#4
0
        private void ComboBoxUser_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.m_IsLoaded == true)
            {
                ComboBox comboBox = (ComboBox)sender;
                YellowstonePathology.Business.Test.PanelSetOrder      panelSetOrder  = (YellowstonePathology.Business.Test.PanelSetOrder)comboBox.Tag;
                YellowstonePathology.Business.User.SystemUser         systemUser     = (YellowstonePathology.Business.User.SystemUser)comboBox.SelectedItem;
                YellowstonePathology.Business.Facility.Model.Facility ypiBLGS        = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("YPIBLGS");
                YellowstonePathology.Business.Facility.Model.Facility buttePathology = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("BTTPTHLGY");

                YellowstonePathology.Business.Facility.Model.Facility ypBLGS = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("YPBLGS");

                if (systemUser.UserId == 5132 || systemUser.UserId == 5133) //Dr Shannon and Dr Smirnoff
                {
                    panelSetOrder.TechnicalComponentFacilityId        = ypiBLGS.FacilityId;
                    panelSetOrder.TechnicalComponentBillingFacilityId = ypiBLGS.FacilityId;

                    if (panelSetOrder.HasProfessionalComponent == true)
                    {
                        panelSetOrder.ProfessionalComponentFacilityId        = buttePathology.FacilityId;
                        panelSetOrder.ProfessionalComponentBillingFacilityId = buttePathology.FacilityId;
                    }
                    else
                    {
                        panelSetOrder.ProfessionalComponentFacilityId        = null;
                        panelSetOrder.ProfessionalComponentBillingFacilityId = null;
                    }
                }
            }
        }
 public void ButtonFilterCaseList_Click(object sender, RoutedEventArgs args)
 {
     if (this.ComboBoxCaseListPathologistUsers.SelectedItem != null)
     {
         YellowstonePathology.Business.User.SystemUser item = (YellowstonePathology.Business.User.SystemUser) this.ComboBoxCaseListPathologistUsers.SelectedItem;
         this.m_TypingUI.SurgicalOrderList.FilterByPathologistId(item.UserId);
     }
 }
 public void ComboBoxAcceptingUsers_SelectionChanged(object sender, RoutedEventArgs args)
 {
     if (this.ComboBoxAcceptingUsers.SelectedItem != null)
     {
         YellowstonePathology.Business.User.SystemUser item = (YellowstonePathology.Business.User.SystemUser) this.ComboBoxAcceptingUsers.SelectedItem;
         this.m_TypingUI.SurgicalTestOrder.AcceptedBy = item.DisplayName;
     }
 }
示例#7
0
 public void ComboBoxAmendmentUsers_SelectionChanged(object sender, RoutedEventArgs args)
 {
     if (this.SelectedAmendment != null && this.comboBoxAmendmentUsers.SelectedItem != null)
     {
         YellowstonePathology.Business.User.SystemUser systemUserItem = (YellowstonePathology.Business.User.SystemUser) this.comboBoxAmendmentUsers.SelectedItem;
         this.SelectedAmendment.PathologistSignature = systemUserItem.Signature;
     }
 }
示例#8
0
 public void Execute(YellowstonePathology.Business.User.SystemUser userPerformingFinal, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrderToFinal, YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
 {
     this.m_UserPerformingFinal   = userPerformingFinal;
     this.m_ExecutionStatus       = executionStatus;
     this.m_AccessionOrder        = accessionOrder;
     this.m_PanelOrderToFinal     = panelOrderToFinal;
     this.m_PanelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelOrderToFinal.ReportNo);
     this.m_Rule.Execute(executionStatus);
 }
 public void SendNotifications(YellowstonePathology.Business.User.SystemUser user)
 {
     foreach (YellowstonePathology.Business.Domain.OrderCommentLog orderCommentLog in this)
     {
         if (orderCommentLog.RequiresNotification)
         {
             orderCommentLog.SendNotification(user);
         }
     }
 }
示例#10
0
        private void Button_PublishClick(object sender, RoutedEventArgs e)
        {
            string masterAccessionno = "16-12345";

            YellowstonePathology.Business.User.SystemUser user    = YellowstonePathology.Business.User.SystemIdentity.Instance.User;
            UI.AppMessaging.AccessionLockMessage          message = new AppMessaging.AccessionLockMessage(masterAccessionno, System.Environment.MachineName, user.UserName, AppMessaging.AccessionLockMessageIdEnum.ASK);
            string messageJSON = message.ToJSON();

            this.m_SUB.Publish(masterAccessionno, messageJSON);
        }
示例#11
0
        private void ComboBoxAmendmentUsers_SelectionChanged(object sender, RoutedEventArgs args)
        {
            ComboBox comboBox = (ComboBox)sender;

            if (comboBox.SelectedItem != null)
            {
                YellowstonePathology.Business.Amendment.Model.Amendment amendment      = (YellowstonePathology.Business.Amendment.Model.Amendment)comboBox.Tag;
                YellowstonePathology.Business.User.SystemUser           systemUserItem = (YellowstonePathology.Business.User.SystemUser)comboBox.SelectedItem;
                amendment.PathologistSignature = systemUserItem.Signature;
            }
        }
示例#12
0
 public void Execute(YellowstonePathology.Business.Rules.ExecutionStatus executionStatus, Test.AccessionOrder accessionOrder, Test.PanelOrder panelOrder,
                     YellowstonePathology.Business.User.SystemUser orderingUser, YellowstonePathology.Business.User.SystemUser acceptingUser)
 {
     this.m_AccessionOrder          = accessionOrder;
     this.m_PanelSetOrder           = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelOrder.ReportNo);
     this.m_PanelOrderBeingAccepted = this.m_PanelSetOrder.PanelOrderCollection.GetByPanelOrderId(panelOrder.PanelOrderId);
     this.m_ExecutionStatus         = executionStatus;
     this.m_OrderingUser            = orderingUser;
     this.m_AcceptingUser           = acceptingUser;
     this.m_Rule.Execute(executionStatus);
 }
示例#13
0
        public void Execute(YellowstonePathology.Business.Rules.ExecutionStatus executionStatus, Test.AccessionOrder accessionOrder, Test.PanelOrder panelOrder,
			YellowstonePathology.Business.User.SystemUser orderingUser, YellowstonePathology.Business.User.SystemUser acceptingUser)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelOrder.ReportNo);
            this.m_PanelOrderBeingAccepted = this.m_PanelSetOrder.PanelOrderCollection.GetByPanelOrderId(panelOrder.PanelOrderId);
            this.m_ExecutionStatus = executionStatus;
            this.m_OrderingUser = orderingUser;
            this.m_AcceptingUser = acceptingUser;
            this.m_Rule.Execute(executionStatus);
        }
示例#14
0
 private void ListBoxSystemUsers_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (this.ListBoxSystemUsers.SelectedItem != null)
     {
         YellowstonePathology.Business.User.SystemUser user = (YellowstonePathology.Business.User.SystemUser) this.ListBoxSystemUsers.SelectedItem;
         SystemUserDialog dlg = new UI.SystemUserDialog(user);
         dlg.ShowDialog();
         this.m_SystemUserCollection = YellowstonePathology.Business.User.SystemUserGateway.GetSystemUserCollection();
         this.NotifyPropertyChanged("SystemUserCollection");
     }
 }
示例#15
0
 public void Execute(YellowstonePathology.Business.Interface.IPanelOrder panelOrderToDelete,
                     YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
                     YellowstonePathology.Business.Rules.ExecutionStatus executionStatus,
                     YellowstonePathology.Business.User.SystemIdentity systemIdentity)
 {
     this.m_ExecutionStatus       = executionStatus;
     this.m_AccessionOrder        = accessionOrder;
     this.m_PanelOrderToDelete    = panelOrderToDelete;
     this.m_PanelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelOrderToDelete.ReportNo);
     this.m_CurrentUser           = systemIdentity.User;
     this.m_Rule.Execute(executionStatus);
 }
示例#16
0
        public void Execute(YellowstonePathology.Business.Interface.IPanelOrder panelOrderToDelete, 
			YellowstonePathology.Business.Test.AccessionOrder accessionOrder,
			YellowstonePathology.Business.Rules.ExecutionStatus executionStatus,
            YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            this.m_ExecutionStatus = executionStatus;
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelOrderToDelete = panelOrderToDelete;
            this.m_PanelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelOrderToDelete.ReportNo);
            this.m_CurrentUser = systemIdentity.User;
            this.m_Rule.Execute(executionStatus);
        }
示例#17
0
 public void EmbeddingVerify(YellowstonePathology.Business.User.SystemUser systemUser)
 {
     if (this.EmbeddingVerified == false)
     {
         this.EmbeddingVerified     = true;
         this.EmbeddingVerifiedById = systemUser.UserId;
         this.EmbeddingVerifiedDate = DateTime.Now;
         this.EmbeddingVerifiedBy   = systemUser.UserName;
         //this.Status = "Validated";
         this.Status = "Embedded";
     }
 }
示例#18
0
        public override void AddAmendments(XElement document)
        {
            SurgicalTestOrder panelSetOrder = (SurgicalTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo);

            YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(panelSetOrder.ReportNo);
            foreach (YellowstonePathology.Business.Amendment.Model.Amendment amendment in amendmentCollection)
            {
                if (amendment.Final == true)
                {
                    this.AddNextObxElement(amendment.AmendmentType + ": " + amendment.AmendmentDate.Value.ToString("MM/dd/yyyy"), document, "C");
                    this.HandleLongString(amendment.Text, document, "C");
                    if (amendment.RequirePathologistSignature == true)
                    {
                        this.AddNextObxElement("Signature: " + amendment.PathologistSignature, document, "C");
                        this.AddNextObxElement("E-signed " + amendment.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document, "C");
                    }
                    this.AddNextObxElement("", document, "C");

                    if (amendment.RevisedDiagnosis == true || amendment.ShowPreviousDiagnosis == true)
                    {
                        string amendmentId = amendment.AmendmentId;
                        foreach (YellowstonePathology.Business.Test.Surgical.SurgicalAudit surgicalAudit in panelSetOrder.SurgicalAuditCollection)
                        {
                            if (surgicalAudit.AmendmentId == amendmentId)
                            {
                                string finalDateP = YellowstonePathology.Business.BaseData.GetShortDateString(panelSetOrder.FinalDate);
                                finalDateP += " " + YellowstonePathology.Business.BaseData.GetMillitaryTimeString(panelSetOrder.FinalTime);

                                string previousDiagnosisHeader = "Previous diagnosis on " + finalDateP;
                                this.AddNextObxElement(previousDiagnosisHeader, document, "C");

                                foreach (YellowstonePathology.Business.Test.Surgical.SurgicalSpecimenAudit specimenAudit in surgicalAudit.SurgicalSpecimenAuditCollection)
                                {
                                    if (specimenAudit.AmendmentId == amendmentId)
                                    {
                                        string diagnosisIDP  = specimenAudit.DiagnosisId + ".";
                                        string specimenTypeP = specimenAudit.SpecimenOrder.Description + ":";
                                        this.AddNextObxElement(diagnosisIDP + specimenTypeP, document, "C");

                                        this.HandleLongString(specimenAudit.Diagnosis, document, "C");
                                    }
                                }

                                YellowstonePathology.Business.User.SystemUser pathologistUser = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(surgicalAudit.PathologistId);
                                this.AddNextObxElement(pathologistUser.Signature, document, "C");
                                this.AddNextObxElement("", document, "F");
                            }
                        }
                    }
                }
            }
        }
示例#19
0
 public static void ReleaseUserLocks(YellowstonePathology.Business.User.SystemUser systemUser)
 {
     using (SqlConnection cn = new SqlConnection(YellowstonePathology.Business.Properties.Settings.Default.CurrentConnectionString))
     {
         cn.Open();
         SqlCommand cmd = new SqlCommand();
         cmd.Connection  = cn;
         cmd.CommandText = "Delete tblLock where LockedBy = @UserName";
         cmd.Parameters.Add("@UserName", SqlDbType.VarChar).Value = systemUser.UserName;
         cmd.CommandType = CommandType.Text;
         cmd.ExecuteNonQuery();
     }
 }
示例#20
0
		public void SendNotification(YellowstonePathology.Business.User.SystemUser user)
		{
			string message = this.ToString();
			System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage("*****@*****.**", this.NotificationAddress, user.DisplayName + " - Event Notification", message);
			System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("10.1.2.111");

            Uri uri = new Uri("http://tempuri.org/");
            System.Net.ICredentials credentials = System.Net.CredentialCache.DefaultCredentials;
            System.Net.NetworkCredential credential = credentials.GetCredential(uri, "Basic");

            client.Credentials = credential;
			client.Send(mailMessage);
		}
示例#21
0
        public WPHResultView(string reportNo, Business.Test.AccessionOrder accessionOrder, bool testing)
        {
            this.m_Testing = testing;
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);

            if (this.m_AccessionOrder.UniversalServiceId.ToUpper() != this.m_PanelSetOrder.UniversalServiceId.ToUpper())
            {
                this.m_SendUnsolicited = true;
            }

            this.m_OrderingPhysician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
            this.m_SigningPathologist = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(this.m_PanelSetOrder.FinaledById);
        }
示例#22
0
        public void GrossVerify(YellowstonePathology.Business.User.SystemUser systemUser)
        {
            if (this.GrossVerified == false)
            {
                this.GrossVerified     = true;
                this.GrossVerifiedById = systemUser.UserId;
                this.GrossVerifiedDate = DateTime.Now;
                this.GrossVerifiedBy   = systemUser.UserName;

                if (this.Status != "Hold")
                {
                    this.Status = "Grossed";
                }
            }
        }
示例#23
0
 public WPHOBRView(string externalOrderId, string masterAccessionNo, string reportNo, Nullable <DateTime> collectionDate, Nullable <DateTime> collectionTime, Nullable <DateTime> accessionTime, Nullable <DateTime> finalTime,
                   YellowstonePathology.Business.Domain.Physician orderingPhysician, YellowstonePathology.Business.User.SystemUser signingPathologist, string observationResultStatus, YellowstonePathology.Business.ClientOrder.Model.UniversalService universalService, bool sendUnsolicited)
 {
     this.m_ExternalOrderId         = externalOrderId;
     this.m_MasterAccessionNo       = masterAccessionNo;
     this.m_ReportNo                = reportNo;
     this.m_CollectionTime          = collectionTime;
     this.m_CollectionDate          = collectionDate;
     this.m_AccessionTime           = accessionTime;
     this.m_FinalTime               = finalTime;
     this.m_OrderingPhysician       = orderingPhysician;
     this.m_SigningPathologist      = signingPathologist;
     this.m_ObservationResultStatus = observationResultStatus;
     this.m_UniversalService        = universalService;
     this.m_SendUnsolicited         = sendUnsolicited;
 }
示例#24
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string result = string.Empty;

            if (value != null)
            {
                int systemUserId = (int)value;
                if (systemUserId != 0)
                {
                    YellowstonePathology.Business.User.SystemUserCollection systemUserCollection = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection;
                    YellowstonePathology.Business.User.SystemUser           user = systemUserCollection.GetSystemUserById(systemUserId);
                    result = user.DisplayName;
                }
            }
            return(result);
        }
示例#25
0
 public WPHOBRView(string externalOrderId, string masterAccessionNo, string reportNo, Nullable<DateTime> collectionDate, Nullable<DateTime> collectionTime, Nullable<DateTime> accessionTime, Nullable<DateTime> finalTime,
     YellowstonePathology.Business.Domain.Physician orderingPhysician, YellowstonePathology.Business.User.SystemUser signingPathologist, string observationResultStatus, YellowstonePathology.Business.ClientOrder.Model.UniversalService universalService, bool sendUnsolicited)
 {
     this.m_ExternalOrderId = externalOrderId;
     this.m_MasterAccessionNo = masterAccessionNo;
     this.m_ReportNo = reportNo;
     this.m_CollectionTime = collectionTime;
     this.m_CollectionDate = collectionDate;
     this.m_AccessionTime = accessionTime;
     this.m_FinalTime = finalTime;
     this.m_OrderingPhysician = orderingPhysician;
     this.m_SigningPathologist = signingPathologist;
     this.m_ObservationResultStatus = observationResultStatus;
     this.m_UniversalService = universalService;
     this.m_SendUnsolicited = sendUnsolicited;
 }
示例#26
0
        public ObrViewV2(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_ReportNo       = reportNo;

            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(13);
            this.m_SigningPathologist = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(panelSetOrder.AssignedToId);

            if (panelSetOrder.AmendmentCollection.Count == 0)
            {
                this.m_ObservationResultStatus = "F";
            }
            else
            {
                this.m_ObservationResultStatus = "C";
            }
        }
示例#27
0
        public ObrViewV2(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo)
        {
            this.m_AccessionOrder = accessionOrder;
            this.m_ReportNo = reportNo;

            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(13);
            this.m_SigningPathologist = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(panelSetOrder.AssignedToId);

            if (panelSetOrder.AmendmentCollection.Count == 0)
            {
                this.m_ObservationResultStatus = "F";
            }
            else
            {
                this.m_ObservationResultStatus = "C";
            }
        }
示例#28
0
		public static void LogEvent(string clientOrderId, string comment,
			YellowstonePathology.Business.User.SystemUser systemUser, YellowstonePathology.Business.Domain.OrderCommentEnum eventEnum)
		{
			OrderCommentLogCollection orderCommentLogCollection = new OrderCommentLogCollection();
			YellowstonePathology.Business.Interface.IOrderComment eventInfo = YellowstonePathology.Business.Domain.OrderCommentFactory.GetOrderComment(eventEnum);
			string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

			OrderCommentLog eventLog = new OrderCommentLog(objectId);
			eventLog.FromEvent(eventInfo);
			eventLog.ClientOrderId = clientOrderId;
			eventLog.Comment = comment;
			eventLog.LoggedById = systemUser.UserId;
			eventLog.LoggedBy = systemUser.DisplayName;
			eventLog.LogDate = DateTime.Now;

			orderCommentLogCollection.Add(eventLog);
		}
示例#29
0
 private void ButtonOK_Click(object sender, RoutedEventArgs e)
 {
     if (this.CanSave() == true)
     {
         YellowstonePathology.Business.User.SystemUser user = this.m_SystemUserCollection.SingleOrDefault(item => item.UserId == this.m_SystemUser.UserId);
         if (user == null)
         {
             YellowstonePathology.Business.Persistence.DocumentGateway.Instance.InsertDocument(this.m_SystemUser, this);
         }
         this.SetUserRoles();
         this.Close();
     }
     else
     {
         MessageBox.Show("The User must have a User Name.");
     }
 }
示例#30
0
        protected string AppendInitials(string text, YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.User.SystemIdentity systemIdentity)
        {
            string result   = text;
            string initials = null;

            if (specimenOrder.AliquotOrderCollection.Count != 0)
            {
                if (accessionOrder.SpecimenOrderCollection.IsLastNonPAPSpecimen(specimenOrder.SpecimenOrderId) == true)
                {
                    int grossVerifiedById = 0;
                    if (specimenOrder.AliquotOrderCollection[0].GrossVerifiedById.HasValue == true)
                    {
                        grossVerifiedById = specimenOrder.AliquotOrderCollection[0].GrossVerifiedById.Value;
                    }
                    string grossedByInitials = "[??]";

                    if (grossVerifiedById != 0)
                    {
                        YellowstonePathology.Business.User.SystemUser grossedBy = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(grossVerifiedById);
                        grossedByInitials = grossedBy.Initials.ToUpper();
                    }

                    string supervisedByInitials = "[??]";
                    if (YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.GPathologistId.HasValue == true)
                    {
                        YellowstonePathology.Business.User.SystemUser supervisedBy = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.GPathologistId.Value);
                        supervisedByInitials = supervisedBy.Initials.ToUpper();
                    }

                    string typedByInitials = systemIdentity.User.Initials.ToLower();

                    if (grossedByInitials != supervisedByInitials)
                    {
                        initials = grossedByInitials + "/" + supervisedByInitials + "/" + typedByInitials;
                    }
                    else
                    {
                        initials = grossedByInitials + "/" + typedByInitials;
                    }

                    result = result + initials;
                }
            }
            return(result);
        }
示例#31
0
        public WYDOHOBRView(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo, YellowstonePathology.Business.Domain.Physician orderingPhysician)
        {
            this.m_AccessionOrder    = accessionOrder;
            this.m_ReportNo          = reportNo;
            this.m_OrderingPhysician = orderingPhysician;

            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(13);
            this.m_SigningPathologist = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(panelSetOrder.AssignedToId);

            YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(panelSetOrder.ReportNo);
            if (amendmentCollection.Count == 0)
            {
                this.m_ObservationResultStatus = "F";
            }
            else
            {
                this.m_ObservationResultStatus = "C";
            }
        }
示例#32
0
 private void IsUserPathologistOrCytotech()
 {
     this.m_UserHasPermissions = false;
     YellowstonePathology.Business.User.SystemUser user = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(this.m_UserPerformingFinal.UserId) as YellowstonePathology.Business.User.SystemUser;
     if (user.IsUserInRole(YellowstonePathology.Business.User.SystemUserRoleDescriptionEnum.Pathologist) || user.IsUserInRole(YellowstonePathology.Business.User.SystemUserRoleDescriptionEnum.Cytotech))
     {
         this.m_UserHasPermissions = true;
         this.m_PanelOrderToFinal.PhysicianInterpretation = false;
         if (user.IsUserInRole(YellowstonePathology.Business.User.SystemUserRoleDescriptionEnum.Pathologist))
         {
             this.m_PanelOrderToFinal.PhysicianInterpretation = true;
         }
     }
     if (this.m_UserHasPermissions == false)
     {
         this.m_ExecutionStatus.AddMessage("Permission Denied", true);
         this.m_ExecutionStatus.ShowMessage = true;
     }
 }
示例#33
0
        public WPHResultView(string reportNo, Business.Test.AccessionOrder accessionOrder, bool testing)
        {
            this.m_Testing        = testing;
            this.m_AccessionOrder = accessionOrder;
            this.m_PanelSetOrder  = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo);
            YellowstonePathology.Business.ClientOrder.Model.ClientOrderCollection clientOrders = Business.Gateway.ClientOrderGateway.GetClientOrdersByExternalOrderId(this.m_AccessionOrder.ExternalOrderId);
            if (clientOrders.Count > 0)
            {
                this.m_ClientOrder = clientOrders[0];
            }

            if (string.IsNullOrEmpty(this.m_AccessionOrder.IncomingHL7) == true)
            {
                this.m_SendUnsolicited = true;
            }

            this.m_OrderingPhysician  = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId);
            this.m_SigningPathologist = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(this.m_PanelSetOrder.FinaledById);
        }
示例#34
0
        public SystemUserDialog(YellowstonePathology.Business.User.SystemUser systemUser)
        {
            this.m_SystemUserCollection = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection;
            if (systemUser == null)
            {
                YellowstonePathology.Business.User.SystemUser user = this.m_SystemUserCollection.OrderByDescending(item => item.UserId).First();
                this.m_SystemUser        = new Business.User.SystemUser();
                this.m_SystemUser.UserId = user.UserId + 1;
            }
            else
            {
                this.m_SystemUser = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullSystemUser(systemUser.UserId, this);
            }

            this.m_SystemRoleViewCollection = new Business.User.SystemRoleViewCollection(this.m_SystemUser);

            InitializeComponent();
            this.DataContext = this;
            this.Closed     += SystemUserDialog_Closed;
        }
示例#35
0
 private void ButtonAssignTo_Click(object sender, RoutedEventArgs e)
 {
     YellowstonePathology.Business.User.SystemUser systemUser = (YellowstonePathology.Business.User.SystemUser) this.ComboBoxAssignedToSelection.SelectedItem;
     System.Windows.MessageBoxResult result = System.Windows.MessageBox.Show("Assign selected cases to " + systemUser.DisplayName + "?", "Assign selected cases?", MessageBoxButton.OKCancel);
     if (result == MessageBoxResult.OK)
     {
         List <YellowstonePathology.Business.Search.CytologyScreeningSearchResult> cytologyScreeningSearchResult = new List <YellowstonePathology.Business.Search.CytologyScreeningSearchResult>();
         foreach (YellowstonePathology.Business.Search.CytologyScreeningSearchResult listItem in this.ListViewSearchResults.SelectedItems)
         {
             cytologyScreeningSearchResult.Add(listItem);
         }
         if (cytologyScreeningSearchResult.Count > 0)
         {
             this.m_CytologyUI.AssignScreenings(cytologyScreeningSearchResult, systemUser);
         }
         else
         {
             System.Windows.MessageBox.Show("No items selected to assign.");
         }
     }
 }
示例#36
0
        private void ComboBoxUser_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.m_IsLoaded == true)
            {
                ComboBox comboBox = (ComboBox)sender;
                YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = (YellowstonePathology.Business.Test.PanelSetOrder)comboBox.Tag;
                YellowstonePathology.Business.User.SystemUser    systemUser    = (YellowstonePathology.Business.User.SystemUser)comboBox.SelectedItem;
                YellowstonePathology.Business.Facility.Model.YellowstonePathologyInstituteBillings ypiBLGS = new Business.Facility.Model.YellowstonePathologyInstituteBillings();
                YellowstonePathology.Business.Facility.Model.ButtePathology buttePathology = new Business.Facility.Model.ButtePathology();

                YellowstonePathology.Business.Facility.Model.YellowstonePathologistBillings ypBLGS = new YellowstonePathology.Business.Facility.Model.YellowstonePathologistBillings();

                if (systemUser.UserId == 5132 || systemUser.UserId == 5133) //Dr Shannon and Dr Smirnoff
                {
                    panelSetOrder.TechnicalComponentFacilityId           = ypiBLGS.FacilityId;
                    panelSetOrder.TechnicalComponentBillingFacilityId    = ypiBLGS.FacilityId;
                    panelSetOrder.ProfessionalComponentFacilityId        = buttePathology.FacilityId;
                    panelSetOrder.ProfessionalComponentBillingFacilityId = buttePathology.FacilityId;
                }
                else
                {
                    panelSetOrder.TechnicalComponentFacilityId        = ypiBLGS.FacilityId;
                    panelSetOrder.TechnicalComponentBillingFacilityId = ypiBLGS.FacilityId;

                    if (systemUser.UserId == 5061) //Dr Clegg
                    {
                        YellowstonePathology.Business.Facility.Model.YellowstonePathologistCody        ypCody  = new Business.Facility.Model.YellowstonePathologistCody();
                        YellowstonePathology.Business.Facility.Model.YellowstonePathologyInstituteCody ypiCody = new Business.Facility.Model.YellowstonePathologyInstituteCody();
                        panelSetOrder.ProfessionalComponentFacilityId        = ypCody.FacilityId;
                        panelSetOrder.ProfessionalComponentBillingFacilityId = ypiCody.FacilityId;
                    }
                    else
                    {
                        panelSetOrder.ProfessionalComponentFacilityId        = ypBLGS.FacilityId;
                        panelSetOrder.ProfessionalComponentBillingFacilityId = ypiBLGS.FacilityId;
                    }
                }
            }
        }
示例#37
0
 public void Execute(YellowstonePathology.Business.User.SystemUser userPerformingFinal, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology panelOrderToFinal, YellowstonePathology.Business.Rules.ExecutionStatus executionStatus)
 {
     this.m_UserPerformingFinal = userPerformingFinal;
     this.m_ExecutionStatus = executionStatus;
     this.m_AccessionOrder = accessionOrder;
     this.m_PanelOrderToFinal = panelOrderToFinal;
     this.m_PanelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelOrderToFinal.ReportNo);
     this.m_Rule.Execute(executionStatus);
 }
示例#38
0
 public BaseData()
 {
     this.m_CurrentUser = YellowstonePathology.Business.User.SystemIdentity.Instance.User;
 }