public static Test.AccessionOrder GetAccessionOrder(string masterAccessionNo) { SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Select * from tblAccessionOrder where MasterAccessionno = @MasterAccessionNo " + "Select * from tblSpecimenOrder where MasterAccessionNo = @MasterAccessionNo order by SpecimenNumber"; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@MasterAccessionNo", SqlDbType.VarChar).Value = masterAccessionNo; YellowstonePathology.Business.Test.AccessionOrder result = new Test.AccessionOrder(); using (SqlConnection cn = new SqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString)) { cn.Open(); cmd.Connection = cn; using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(result, dr); propertyWriter.WriteProperties(); } dr.NextResult(); while (dr.Read()) { Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder(); YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr); propertyWriter.WriteProperties(); result.SpecimenOrderCollection.Add(specimenOrder); } } } return result; }
public override object BuildNew() { YellowstonePathology.Business.Test.AccessionOrder result = new Test.AccessionOrder(); YellowstonePathology.Business.Gateway.AccessionOrderBuilder builder = new YellowstonePathology.Business.Gateway.AccessionOrderBuilder(); builder.Build(this.m_SQLCommand, result); return result; }
public static XElement GetAccessionOrder(string masterAccessionNo) { SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Select * from tblAccessionOrder where MasterAccessionno = '" + masterAccessionNo + "'"; cmd.CommandType = CommandType.Text; YellowstonePathology.Business.Test.AccessionOrder accessionOrder = new Test.AccessionOrder(); using (SqlConnection cn = new SqlConnection(YellowstonePathology.Business.Properties.Settings.Default.CurrentConnectionString)) { cn.Open(); cmd.Connection = cn; using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(accessionOrder, dr); propertyWriter.WriteProperties(); } } } XElement result = new XElement("AccessionOrder"); YellowstonePathology.Business.Persistence.XmlPropertyReader xmlPropertyReader = new YellowstonePathology.Business.Persistence.XmlPropertyReader(accessionOrder, result); xmlPropertyReader.Write(); return result; }
public void Build(SqlCommand cmd, YellowstonePathology.Business.Test.AccessionOrder accessionOrder) { this.m_PanelSetOrderReportNumbers = new List<string>(); this.m_PanelOrderIds = new List<string>(); this.m_AccessionOrder = accessionOrder; using (SqlConnection cn = new SqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString)) { cn.Open(); cmd.Connection = cn; using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.KeyInfo)) { HandleDataSets(dr); } } this.m_AccessionOrder.AccessionLock.MasterAccessionNo = accessionOrder.MasterAccessionNo; this.m_AccessionOrder.PanelSetOrderCollection.RemoveDeleted(this.m_PanelSetOrderReportNumbers); this.m_AccessionOrder.PanelSetOrderCollection = Test.PanelSetOrderCollection.Sort(this.m_AccessionOrder.PanelSetOrderCollection); this.RemoveDeletedPanelOrders(); if (this.m_TestOrderDataTable != null) { this.HandleSlideOrderTestOrder(this.m_TestOrderDataTable); this.HandleAliquotOrderTestOrder(this.m_TestOrderDataTable); } if (this.m_AliquotOrderDataTable != null) this.HandleTestOrderAliquotOrder(this.m_AliquotOrderDataTable); if (this.m_SlideOrderDataTable != null) this.HandleTestOrderSlideOrderCollection(this.m_SlideOrderDataTable); if (this.m_AccessionOrder.PanelSetOrderCollection.HasSurgical() == true) { Test.Surgical.SurgicalTestOrder surgicalTestOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetSurgical(); this.SetSurgicalAuditAmendment(surgicalTestOrder); this.SetSurgicalSpecimenSpecimenOrder(surgicalTestOrder); this.SetSurgicalSpecimenAuditSpecimenOrder(surgicalTestOrder); this.SetSurgicalSpecimenOrderItemCollection(surgicalTestOrder); this.SetTypingStainCollection(surgicalTestOrder); } foreach(Test.PanelSetOrder panelSetOrder in this.m_AccessionOrder.PanelSetOrderCollection) { SetOrderedOnDescription(panelSetOrder); } }
public CodyCassetteColorAudit(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.AliquotOrderCollection aliquotCollection) { this.m_AccessionOrder = accessionOrder; this.m_AliquotCollection = aliquotCollection; }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult auditResult = base.IsOkToFinalize(accessionOrder); if (auditResult.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.m_ResultCode) == true) { auditResult.Status = Audit.Model.AuditStatusEnum.Failure; auditResult.Message = "This case cannot be finalized because the results have not been set."; } } return(auditResult); }
public override void Visit(Test.AccessionOrder accessionOrder) { this.m_AccessionOrder = accessionOrder; this.HandleAddedTestOrders(); this.HandleRemovedTestOrders(); }
public NGCTIsRequiredAudit(Test.AccessionOrder accessionOrder) : base(accessionOrder) { }
public virtual void AcceptResults(Rules.RuleExecutionStatus ruleExecutionStatus, Test.AccessionOrder accessionOrder, Business.User.SystemUser acceptingUser) { System.Windows.MessageBox.Show("Accept Results is not implemented."); }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder); if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.m_Result) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = UnableToFinal; } } if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.Indication) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = "The results cannot be finalized because the BRAF indicator is not set."; } } if (result.Status == Audit.Model.AuditStatusEnum.OK) { YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTest krasStandardReflexTest = new KRASStandardReflex.KRASStandardReflexTest(); if (accessionOrder.PanelSetOrderCollection.Exists(krasStandardReflexTest.PanelSetId, this.OrderedOnId, true) == false) { if (string.IsNullOrEmpty(this.TumorNucleiPercentage) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = "This case cannot be finalized because the Tumor Nuclei Percent is not set."; } } } if (result.Status == Audit.Model.AuditStatusEnum.OK) { this.DoesFinalSummaryResultMatch(accessionOrder, this.m_Result, result); if (result.Status == Audit.Model.AuditStatusEnum.Warning) { result.Message += AskFinal; } } return(result); }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult auditResult = base.IsOkToFinalize(accessionOrder); if (auditResult.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.m_ResultCode) == true) { auditResult.Status = Audit.Model.AuditStatusEnum.Failure; auditResult.Message = "This case cannot be finalized because the results have not been set."; } else { YellowstonePathology.Business.Test.KRASStandardReflex.KRASStandardReflexTest krasStandardReflexTest = new KRASStandardReflex.KRASStandardReflexTest(); if (accessionOrder.PanelSetOrderCollection.Exists(krasStandardReflexTest.PanelSetId, this.OrderedOnId, true) == false) { YellowstonePathology.Business.Facility.Model.Facility ypi = YellowstonePathology.Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId("YPIBLGS"); if (this.TechnicalComponentFacilityId == ypi.FacilityId) { if (string.IsNullOrEmpty(this.TumorNucleiPercentage) == true) { if (accessionOrder.PanelSetOrderCollection.Exists(krasStandardReflexTest.PanelSetId) == false) { auditResult.Status = Audit.Model.AuditStatusEnum.Failure; auditResult.Message = "This case cannot be finalized because the Tumor Nuclei Percent is not set."; } } } } } } return(auditResult); }
public PanelSetOrderAmendmentViewCollection(Test.AccessionOrder accessionOrder) { this.Refresh(accessionOrder); }
public override void Visit(Test.AccessionOrder accessionOrder) { this.m_AccessionOrder = accessionOrder; }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { YellowstonePathology.Business.Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder); if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (this.Accepted == false) { YellowstonePathology.Business.Rules.MethodResult methodResult = this.IsOkToAccept(); if (methodResult.Success == false) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = "This case cannot be finalized because the results are not set."; } } } return(result); }
public DistributionAvailableAudit(Test.AccessionOrder accessionOrder) : base(accessionOrder) { }
public void BuildMySql(MySqlCommand cmd, YellowstonePathology.Business.Test.AccessionOrder accessionOrder) { this.m_PanelSetOrderReportNumbers = new List<string>(); this.m_PanelOrderIds = new List<string>(); this.m_AccessionOrder = accessionOrder; using (MySqlConnection cn = new MySqlConnection("Server = 10.1.2.26; Uid = sqldude; Pwd = 123Whatsup; Database = lis;")) { cn.Open(); cmd.Connection = cn; using (MySqlDataReader dr = cmd.ExecuteReader(CommandBehavior.KeyInfo)) { HandleMySqlDataSets(dr); } } this.m_AccessionOrder.AccessionLock.MasterAccessionNo = accessionOrder.MasterAccessionNo; this.m_AccessionOrder.PanelSetOrderCollection.RemoveDeleted(this.m_PanelSetOrderReportNumbers); this.RemoveDeletedPanelOrders(); if (this.m_TestOrderDataTable != null) { this.HandleSlideOrderTestOrder(this.m_TestOrderDataTable); this.HandleAliquotOrderTestOrder(this.m_TestOrderUnsortedDataTable); } if (this.m_AliquotOrderDataTable != null) this.HandleTestOrderAliquotOrder(this.m_AliquotOrderDataTable); if (this.m_SlideOrderDataTable != null) this.HandleTestOrderSlideOrderCollection(this.m_SlideOrderDataTable); if (this.m_AccessionOrder.PanelSetOrderCollection.HasSurgical() == true) { Test.Surgical.SurgicalTestOrder surgicalTestOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetSurgical(); this.SetSurgicalAuditAmendment(surgicalTestOrder); this.SetSurgicalSpecimenSpecimenOrder(surgicalTestOrder); this.SetSurgicalSpecimenAuditSpecimenOrder(surgicalTestOrder); this.SetSurgicalSpecimenOrderItemCollection(surgicalTestOrder); } }
public HasColorForDirectPrintBlocksAudit(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Test.AliquotOrderCollection aliquotCollection) { this.m_AccessionOrder = accessionOrder; this.m_AliquotCollection = aliquotCollection; }
public CanSetDistributionAudit(Test.AccessionOrder accessionOrder, YellowstonePathology.Business.Client.Model.PhysicianClientDistributionList physicianClientDistributionCollection) : base(accessionOrder) { this.m_PhysicianClientDistributionCollection = physicianClientDistributionCollection; }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder); if (result.Status == Audit.Model.AuditStatusEnum.OK) { this.AreTestResultsPresent(accessionOrder, result); } return(result); }
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); }
public FNAHasIntraOpAudit(Test.AccessionOrder accessionOrder) { this.m_AccessionOrder = accessionOrder; }
public PanelSetOrderAmendmentView(Test.AccessionOrder accessionOrder, Test.PanelSetOrder panelSetOrder) { this.m_AccessionOrder = accessionOrder; this.m_PanelSetOrder = panelSetOrder; }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder); if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.m_Result) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = UnableToFinal + Environment.NewLine; } if (string.IsNullOrEmpty(this.m_Karyotype) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message += "This case cannot be finalized because the Karyotype has not been set."; } } return(result); }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder); if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.m_Result) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = UnableToFinal; } } if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.StainPercent) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = "The case cannot be finalized because the stain percent is not set."; } } if (result.Status == Audit.Model.AuditStatusEnum.OK) { this.DoesFinalSummaryResultMatch(accessionOrder, this.m_Result, result); if (result.Status == Audit.Model.AuditStatusEnum.Warning) { result.Message += AskFinal; } } return(result); }
public void SetFlowCptCodes(Test.AccessionOrder accessionOrder, string reportNo) { Test.LLP.PanelSetOrderLeukemiaLymphoma panelSetOrder = (Test.LLP.PanelSetOrderLeukemiaLymphoma)accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportNo); string primaryInsurance = accessionOrder.PrimaryInsurance; string secondaryInsurance = accessionOrder.SecondaryInsurance; string patientType = accessionOrder.PatientType; int clientId = accessionOrder.ClientId; string masterAccessionNo = accessionOrder.MasterAccessionNo; string specimenOrderId = accessionOrder.SpecimenOrderCollection[0].SpecimenOrderId; int panelSetId = panelSetOrder.PanelSetId; DateTime?dateOfService = accessionOrder.CollectionDate; bool noCharge = panelSetOrder.NoCharge; string professionalComponentFacilityid = panelSetOrder.ProfessionalComponentFacilityId; string technicalComponentFacilityid = panelSetOrder.TechnicalComponentFacilityId; switch (panelSetOrder.PanelSetId) { case 1: this.AddFlowCptCodeIfNotExist(reportNo, "88184", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); int markerCount = panelSetOrder.FlowMarkerCollection.CountOfUsedMarkers(); this.AddFlowCptCodeIfNotExist(reportNo, "88185", markerCount - 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); if (markerCount >= 2 && markerCount <= 8) { this.AddFlowCptCodeIfNotExist(reportNo, "88187", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); } if (markerCount >= 9 && markerCount <= 15) { this.AddFlowCptCodeIfNotExist(reportNo, "88188", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); } if (markerCount >= 16) { this.AddFlowCptCodeIfNotExist(reportNo, "88189", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); } break; case 4: this.AddFlowCptCodeIfNotExist(reportNo, "86023", 2, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 5: this.AddFlowCptCodeIfNotExist(reportNo, "85055", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 7: this.AddFlowCptCodeIfNotExist(reportNo, "86356", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 12: this.AddFlowCptCodeIfNotExist(reportNo, "86367", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 13: this.AddFlowCptCodeIfNotExist(reportNo, "86023", 2, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); this.AddFlowCptCodeIfNotExist(reportNo, "85055", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 14: this.AddFlowCptCodeIfNotExist(reportNo, "88182", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 15: this.AddFlowCptCodeIfNotExist(reportNo, "86361", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; case 16: this.AddFlowCptCodeIfNotExist(reportNo, "86812", 1, primaryInsurance, secondaryInsurance, patientType, clientId, masterAccessionNo, specimenOrderId, panelSetId, dateOfService, noCharge, professionalComponentFacilityid, technicalComponentFacilityid); break; } }
public TrichomonasIsRequiredAudit(Test.AccessionOrder accessionOrder) : base(accessionOrder) { }
public override void Acknowledge(Test.AccessionOrder accessionOrder, Business.User.SystemIdentity systemIdentity) { base.Acknowledge(accessionOrder, systemIdentity); }
public override YellowstonePathology.Business.Audit.Model.AuditResult IsOkToFinalize(Test.AccessionOrder accessionOrder) { Audit.Model.AuditResult result = base.IsOkToFinalize(accessionOrder); if (result.Status == Audit.Model.AuditStatusEnum.OK) { if (string.IsNullOrEmpty(this.m_Result) == true) { result.Status = Audit.Model.AuditStatusEnum.Failure; result.Message = UnableToFinal; } } return(result); }
public override void Acknowledge(TaskOrderDetail taskOrderDetail, Test.AccessionOrder accessionOrder, Business.User.SystemIdentity systemIdentity) { base.Acknowledge(taskOrderDetail, accessionOrder, systemIdentity); }