public override void Render() { ThinPrepPap.ThinPrepPapTest thinPrepPapTest = new ThinPrepPap.ThinPrepPapTest(); bool hasPap = this.m_AccessionOrder.PanelSetOrderCollection.Exists(thinPrepPapTest.PanelSetId); if (hasPap) { this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\WomensHealthProfile.1.xml"; this.OpenTemplate(); this.SetCurrentPapResults(); } else { this.m_TemplateName = @"\\CFileServer\Documents\ReportTemplates\XmlTemplates\WomensHealthProfileNoPap.1.xml"; this.OpenTemplate(); } this.SetCurrentMolecularResults(); this.SetPriorResults(); WomensHealthProfileTestOrder womensHealthProfileTestOrder = (WomensHealthProfileTestOrder)this.m_PanelSetOrder; WomensHealthProfileResult womensHealthProfileResult = new WomensHealthProfileResult(this.m_AccessionOrder); YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(womensHealthProfileTestOrder.ReportNo); YellowstonePathology.Business.Document.AmendmentSection amendmentSection = new YellowstonePathology.Business.Document.AmendmentSection(); amendmentSection.SetAmendment(amendmentCollection, this.m_ReportXml, this.m_NameSpaceManager, true); YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByOrderTarget(womensHealthProfileTestOrder.OrderedOnId); this.SetXmlNodeData("specimen_source", specimenOrder.SpecimenSource); string collectionDateTimeString = specimenOrder.GetCollectionDateTimeString(); this.SetXmlNodeData("collection_date_time", collectionDateTimeString); this.SetXmlNodeData("specimen_description", specimenOrder.Description); if (this.m_PanelSetOrder.FinalTime.HasValue == true) { string finalDateTime = YellowstonePathology.Business.Document.CaseReportV2.ReportDateTimeFormat(this.m_PanelSetOrder.FinalTime.Value); this.SetXmlNodeData("final_date", finalDateTime); } else { this.SetXmlNodeData("final_date", string.Empty); } string clinicalHistory = this.m_AccessionOrder.ClinicalHistory; this.SetXMLNodeParagraphData("clinical_history", clinicalHistory); this.SetXMLNodeParagraphData("report_method", womensHealthProfileResult.Method); this.SetXMLNodeParagraphData("report_references", womensHealthProfileResult.References); this.SetDemographicsV2(); this.SetReportDistribution(); this.SetCaseHistory(); this.SaveReport(); }
public override void ToXml(XElement document) { WomensHealthProfileTestOrder womensHealthProfileTestOrder = (WomensHealthProfileTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo); WomensHealthProfileResult womensHealthProfileResult = new WomensHealthProfileResult(this.m_AccessionOrder); ThinPrepPap.ThinPrepPapTest thinPrepPapTest = new ThinPrepPap.ThinPrepPapTest(); bool hasPap = this.m_AccessionOrder.PanelSetOrderCollection.Exists(thinPrepPapTest.PanelSetId); this.AddCompanyHeader(document); this.AddBlankNteElement(document); this.AddNextNteElement("Women's Health Profile", document); this.AddNextNteElement("Report #: " + womensHealthProfileTestOrder.ReportNo, document); this.AddBlankNteElement(document); if (hasPap == true) { this.AddNextNteElement("PAP TEST RESULT: ", document); YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology panelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(15); if (string.IsNullOrEmpty(panelSetOrderCytology.ScreeningImpression) == false) { this.AddNextNteElement("Epithelial Cell Description: ", document); this.AddNextNteElement(panelSetOrderCytology.ScreeningImpression, document); this.AddBlankNteElement(document); } this.AddNextNteElement("Specimen Adequacy:", document); this.AddNextNteElement(panelSetOrderCytology.SpecimenAdequacy, document); this.AddBlankNteElement(document); if (string.IsNullOrEmpty(panelSetOrderCytology.OtherConditions) == false) { this.AddNextNteElement("Other Conditions:", document); this.AddNextNteElement(panelSetOrderCytology.OtherConditions, document); this.AddBlankNteElement(document); } if (string.IsNullOrEmpty(panelSetOrderCytology.ReportComment) == false) { this.AddNextNteElement("Comment:", document); this.AddNextNteElement(panelSetOrderCytology.ReportComment, document); this.AddBlankNteElement(document); } YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology screeningPanelOrder = null; YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology reviewPanelOrder = null; foreach (YellowstonePathology.Business.Interface.IPanelOrder panelOrder in panelSetOrderCytology.PanelOrders) { Type objectType = panelOrder.GetType(); if (typeof(YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology).IsAssignableFrom(objectType) == true) { YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology cytologyPanelOrder = (YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology)panelOrder; if (cytologyPanelOrder.PanelId == 38) { if (cytologyPanelOrder.ScreeningType == "Primary Screening") { screeningPanelOrder = cytologyPanelOrder; } else if (cytologyPanelOrder.ScreeningType == "Pathologist Review") { reviewPanelOrder = cytologyPanelOrder; } else if (cytologyPanelOrder.ScreeningType == "Cytotech Review") { if (reviewPanelOrder == null || reviewPanelOrder.ScreeningType != "Pathologist Review") { reviewPanelOrder = cytologyPanelOrder; } } } } } YellowstonePathology.Business.User.SystemUser systemUser = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(screeningPanelOrder.ScreenedById); if (string.IsNullOrEmpty(systemUser.Signature) == false) { this.AddNextNteElement("Screened By: " + systemUser.Signature, document); } string cytoTechFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateAndTimeStringFromNullable(screeningPanelOrder.AcceptedTime); this.AddNextNteElement("*** E-Signed " + cytoTechFinal + " ***", document); this.AddBlankNteElement(document); if (reviewPanelOrder != null) { string reviewedBy = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(reviewPanelOrder.ScreenedById).Signature; string reviewedByFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(reviewPanelOrder.AcceptedDate); if (reviewedBy.IndexOf("MD") >= 0) { this.AddNextNteElement("Interpreted By: " + reviewedBy + " " + reviewedByFinal, document); } else { this.AddNextNteElement("Reviewed By: " + reviewedBy + " " + reviewedByFinal, document); } this.AddBlankNteElement(document); } } this.AddAmendments(document, womensHealthProfileTestOrder, this.m_AccessionOrder); this.AddNextNteElement("CURRENT MOLECULAR TEST SUMMARY", document); YellowstonePathology.Business.Test.HPV.HPVTest panelSetHPV = new YellowstonePathology.Business.Test.HPV.HPVTest(); YellowstonePathology.Business.Test.HPV1618.HPV1618Test panelSetHPV1618 = new YellowstonePathology.Business.Test.HPV1618.HPV1618Test(); YellowstonePathology.Business.Test.NGCT.NGCTTest panelSetNGCT = new YellowstonePathology.Business.Test.NGCT.NGCTTest(); YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest panelSetTrichomonas = new YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest(); if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV.PanelSetId) == false && this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV1618.PanelSetId) == false && this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetNGCT.PanelSetId) == false && this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetTrichomonas.PanelSetId) == false) { this.AddNextNteElement("No tests performed ", document); this.AddBlankNteElement(document); } else { if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV.PanelSetId) == true) { YellowstonePathology.Business.Test.HPV.HPVTestOrder hpvTestOrder = (YellowstonePathology.Business.Test.HPV.HPVTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHPV.PanelSetId); this.AddNextNteElement("High Risk HPV: " + hpvTestOrder.Result, document); this.AddNextNteElement("Reference: Negative", document); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateAndTimeStringFromNullable(hpvTestOrder.FinalTime); this.AddNextNteElement("Date Finalized: " + hpvFinal, document); this.AddBlankNteElement(document); } if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV1618.PanelSetId) == true) { YellowstonePathology.Business.Test.HPV1618.PanelSetOrderHPV1618 panelSetOrderHPV1618 = (YellowstonePathology.Business.Test.HPV1618.PanelSetOrderHPV1618) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHPV1618.PanelSetId); this.AddNextNteElement("HPV type 16: " + panelSetOrderHPV1618.HPV16Result, document); this.AddNextNteElement("Reference: Negative", document); this.AddNextNteElement("HPV type 18: " + panelSetOrderHPV1618.HPV18Result, document); this.AddNextNteElement("Reference: Negative", document); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateAndTimeStringFromNullable(panelSetOrderHPV1618.FinalTime); this.AddNextNteElement("Date Finalized: " + hpvFinal, document); this.AddBlankNteElement(document); } if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetNGCT.PanelSetId) == true) { this.AddNextNteElement("Chlamydia Gonorrhea Screening ", document); YellowstonePathology.Business.Test.NGCT.NGCTTestOrder panelSetOrderNGCT = (YellowstonePathology.Business.Test.NGCT.NGCTTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetNGCT.PanelSetId); this.AddNextNteElement("Chlamydia trachomatis: " + panelSetOrderNGCT.ChlamydiaTrachomatisResult, document); this.AddNextNteElement("Reference: Negative", document); this.AddNextNteElement("Neisseria gonorrhoeae: " + panelSetOrderNGCT.NeisseriaGonorrhoeaeResult, document); this.AddNextNteElement("Reference: Negative", document); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateAndTimeStringFromNullable(panelSetOrderNGCT.FinalTime); this.AddNextNteElement("Date Finalized: " + hpvFinal, document); this.AddBlankNteElement(document); } if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetTrichomonas.PanelSetId) == true) { this.AddNextNteElement("Trichomonas Screening ", document); YellowstonePathology.Business.Test.Trichomonas.TrichomonasTestOrder reportOrderTrichomonas = (YellowstonePathology.Business.Test.Trichomonas.TrichomonasTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetTrichomonas.PanelSetId); this.AddNextNteElement("Trichomonas vaginalis: " + reportOrderTrichomonas.Result, document); this.AddNextNteElement("Reference: Negative", document); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateAndTimeStringFromNullable(reportOrderTrichomonas.FinalTime); this.AddNextNteElement("Date Finalized: " + hpvFinal, document); this.AddBlankNteElement(document); } } this.AddNextNteElement("Specimen Description: Thin Prep Fluid", document); this.AddNextNteElement("Specimen Source: " + this.m_AccessionOrder.SpecimenOrderCollection[0].SpecimenSource, document); string collectionDateTimeString = this.m_AccessionOrder.SpecimenOrderCollection[0].GetCollectionDateTimeString(); this.AddNextNteElement("Collection Date/Time: " + collectionDateTimeString, document); this.AddBlankNteElement(document); this.AddNextNteElement("Clinical History: ", document); this.HandleLongString(this.m_AccessionOrder.ClinicalHistory, document); this.AddBlankNteElement(document); this.AddNextNteElement("Method: ", document); this.HandleLongString(womensHealthProfileResult.Method, document); this.AddBlankNteElement(document); this.AddNextNteElement("References: ", document); this.HandleLongString(womensHealthProfileResult.References, document); this.AddBlankNteElement(document); string locationPerformed = womensHealthProfileTestOrder.GetLocationPerformedComment(); this.HandleLongString(locationPerformed, document); this.AddNextNteElement(string.Empty, document); this.AddNextNteElement("PRIOR PAP AND GYN MOLECULAR TESTS", document); YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest panelSetThinPrepPap = new YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest(); DateTime cutoffDate = this.m_AccessionOrder.AccessionDate.Value.AddYears(-5); YellowstonePathology.Business.Domain.PatientHistory patientHistory = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetPatientHistory(this.m_AccessionOrder.PatientId); YellowstonePathology.Business.Domain.PatientHistory priorPapRelatedHistory = patientHistory.GetPriorPapRelatedHistory(this.m_AccessionOrder.MasterAccessionNo, cutoffDate); if (priorPapRelatedHistory.Count == 0) { this.AddNextNteElement("No prior tests performed ", document); this.AddBlankNteElement(document); } else { foreach (YellowstonePathology.Business.Domain.PatientHistoryResult patientHistoryResult in priorPapRelatedHistory) { YellowstonePathology.Business.Test.AccessionOrder patientHistoryAccessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.GetAccessionOrderByMasterAccessionNo(patientHistoryResult.MasterAccessionNo); foreach (YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder in patientHistoryAccessionOrder.PanelSetOrderCollection) { string reportNo = null; string result = null; if (panelSetOrder.PanelSetId == panelSetThinPrepPap.PanelSetId || panelSetOrder.PanelSetId == panelSetHPV.PanelSetId || panelSetOrder.PanelSetId == panelSetHPV1618.PanelSetId || panelSetOrder.PanelSetId == panelSetNGCT.PanelSetId || panelSetOrder.PanelSetId == panelSetTrichomonas.PanelSetId) { reportNo = panelSetOrder.ReportNo; string finaldate = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(panelSetOrder.FinalDate); result = panelSetOrder.GetResultWithTestName(); this.AddNextNteElement("Test: " + panelSetOrder.PanelSetName + " Report No: " + reportNo + " Result: " + result + " Final Date: " + finaldate, document); this.AddBlankNteElement(document); } } } } this.AddBlankNteElement(document); string disclaimer = "This Pap test is only a screening test. A negative result does not definitively rule out the presence of disease. Women should, therefore, in consultation with their physician, have this test performed at mutually agreed intervals."; this.AddNextNteElement(disclaimer, document); this.AddBlankNteElement(document); }
public override void ToXml(XElement document) { WomensHealthProfileTestOrder womensHealthProfileTestOrder = (WomensHealthProfileTestOrder)this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_ReportNo); WomensHealthProfileResult womensHealthProfileResult = new WomensHealthProfileResult(this.m_AccessionOrder); YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(this.m_ReportNo); ThinPrepPap.ThinPrepPapTest thinPrepPapTest = new ThinPrepPap.ThinPrepPapTest(); bool hasPap = this.m_AccessionOrder.PanelSetOrderCollection.Exists(thinPrepPapTest.PanelSetId); this.AddNextObxElementBeaker("Report No: ", this.m_ReportNo, document, "F"); if (hasPap == true) { StringBuilder papTest = new StringBuilder(); YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology panelSetOrderCytology = (YellowstonePathology.Business.Test.ThinPrepPap.PanelSetOrderCytology) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(15); if (string.IsNullOrEmpty(panelSetOrderCytology.ScreeningImpression) == false) { papTest.AppendLine("Epithelial Cell Description: " + panelSetOrderCytology.ScreeningImpression); } papTest.AppendLine("Specimen Adequacy: " + panelSetOrderCytology.SpecimenAdequacy); if (string.IsNullOrEmpty(panelSetOrderCytology.OtherConditions) == false) { papTest.AppendLine("Other Conditions: " + panelSetOrderCytology.OtherConditions); } if (string.IsNullOrEmpty(panelSetOrderCytology.ReportComment) == false) { papTest.AppendLine("Comment: " + panelSetOrderCytology.ReportComment); } YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology screeningPanelOrder = null; YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology reviewPanelOrder = null; foreach (YellowstonePathology.Business.Interface.IPanelOrder panelOrder in panelSetOrderCytology.PanelOrders) { Type objectType = panelOrder.GetType(); if (typeof(YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology).IsAssignableFrom(objectType) == true) { YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology cytologyPanelOrder = (YellowstonePathology.Business.Test.ThinPrepPap.PanelOrderCytology)panelOrder; if (cytologyPanelOrder.PanelId == 38) { if (cytologyPanelOrder.ScreeningType == "Primary Screening") { screeningPanelOrder = cytologyPanelOrder; } else if (cytologyPanelOrder.ScreeningType == "Pathologist Review") { reviewPanelOrder = cytologyPanelOrder; } else if (cytologyPanelOrder.ScreeningType == "Cytotech Review") { if (reviewPanelOrder == null || reviewPanelOrder.ScreeningType != "Pathologist Review") { reviewPanelOrder = cytologyPanelOrder; } } } } } YellowstonePathology.Business.User.SystemUser systemUser = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(screeningPanelOrder.ScreenedById); if (string.IsNullOrEmpty(systemUser.Signature) == false) { papTest.AppendLine("Screened By: " + systemUser.Signature); } string cytoTechFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(screeningPanelOrder.AcceptedDate); papTest.AppendLine("E-Signed " + cytoTechFinal); if (reviewPanelOrder != null) { string reviewedBy = YellowstonePathology.Business.User.SystemUserCollectionInstance.Instance.SystemUserCollection.GetSystemUserById(reviewPanelOrder.ScreenedById).Signature; string reviewedByFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(reviewPanelOrder.AcceptedDate); if (reviewedBy.IndexOf("MD") >= 0) { papTest.AppendLine("Interpreted By: " + reviewedBy + " " + reviewedByFinal); } else { papTest.AppendLine("Reviewed By: " + reviewedBy + " " + reviewedByFinal); } } this.AddNextObxElementBeaker("PAP TEST RESULT: ", papTest.ToString(), document, "F"); } if (amendmentCollection.Count != 0) { StringBuilder amendments = new StringBuilder(); foreach (YellowstonePathology.Business.Amendment.Model.Amendment amendment in amendmentCollection) { if (amendment.Final == true) { amendments.AppendLine(amendment.AmendmentType + ": " + amendment.AmendmentDate.Value.ToString("MM/dd/yyyy")); amendments.AppendLine(amendment.Text); if (amendment.RequirePathologistSignature == true) { amendments.AppendLine("Signature: " + amendment.PathologistSignature); amendments.AppendLine("E-signed " + amendment.FinalTime.Value.ToString("MM/dd/yyyy HH:mm")); } } } amendments.AppendLine(); this.AddNextObxElementBeaker("Amendments", amendments.ToString(), document, "F"); } StringBuilder testsPerformed = new StringBuilder(); YellowstonePathology.Business.Test.HPV.HPVTest panelSetHPV = new YellowstonePathology.Business.Test.HPV.HPVTest(); YellowstonePathology.Business.Test.HPV1618.HPV1618Test panelSetHPV1618 = new YellowstonePathology.Business.Test.HPV1618.HPV1618Test(); YellowstonePathology.Business.Test.NGCT.NGCTTest panelSetNGCT = new YellowstonePathology.Business.Test.NGCT.NGCTTest(); YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest panelSetTrichomonas = new YellowstonePathology.Business.Test.Trichomonas.TrichomonasTest(); if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV.PanelSetId) == false && this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV1618.PanelSetId) == false && this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetNGCT.PanelSetId) == false && this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetTrichomonas.PanelSetId) == false) { testsPerformed.AppendLine("No tests performed"); } else { if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV.PanelSetId) == true) { YellowstonePathology.Business.Test.HPV.HPVTestOrder hpvTestOrder = (YellowstonePathology.Business.Test.HPV.HPVTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHPV.PanelSetId); testsPerformed.AppendLine("High Risk HPV: " + hpvTestOrder.Result); testsPerformed.AppendLine("Reference: Negative"); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(hpvTestOrder.FinalDate); testsPerformed.AppendLine("Date Finalized: " + hpvFinal); } if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetHPV1618.PanelSetId) == true) { YellowstonePathology.Business.Test.HPV1618.PanelSetOrderHPV1618 panelSetOrderHPV1618 = (YellowstonePathology.Business.Test.HPV1618.PanelSetOrderHPV1618) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetHPV1618.PanelSetId); testsPerformed.AppendLine("HPV type 16: " + panelSetOrderHPV1618.HPV16Result); testsPerformed.AppendLine("Reference: Negative"); testsPerformed.AppendLine("HPV type 18: " + panelSetOrderHPV1618.HPV18Result); testsPerformed.AppendLine("Reference: Negative"); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(panelSetOrderHPV1618.FinalDate); testsPerformed.AppendLine("Date Finalized: " + hpvFinal); } if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetNGCT.PanelSetId) == true) { //testsPerformed.AppendLine("Chlamydia Gonorrhea Screening"); YellowstonePathology.Business.Test.NGCT.NGCTTestOrder panelSetOrderNGCT = (YellowstonePathology.Business.Test.NGCT.NGCTTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetNGCT.PanelSetId); testsPerformed.AppendLine("Chlamydia trachomatis: " + panelSetOrderNGCT.ChlamydiaTrachomatisResult); testsPerformed.AppendLine("Reference: Negative"); testsPerformed.AppendLine("Neisseria gonorrhoeae: " + panelSetOrderNGCT.NeisseriaGonorrhoeaeResult); testsPerformed.AppendLine("Reference: Negative"); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(panelSetOrderNGCT.FinalDate); testsPerformed.AppendLine("Date Finalized: " + hpvFinal); } if (this.m_AccessionOrder.PanelSetOrderCollection.Exists(panelSetTrichomonas.PanelSetId) == true) { //testsPerformed.AppendLine("Trichomonas Screening"); YellowstonePathology.Business.Test.Trichomonas.TrichomonasTestOrder reportOrderTrichomonas = (YellowstonePathology.Business.Test.Trichomonas.TrichomonasTestOrder) this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(panelSetTrichomonas.PanelSetId); testsPerformed.AppendLine("Trichomonas vaginalis: " + reportOrderTrichomonas.Result); testsPerformed.AppendLine("Reference: Negative"); string hpvFinal = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(reportOrderTrichomonas.FinalDate); testsPerformed.AppendLine("Date Finalized: " + hpvFinal); } } this.AddNextObxElementBeaker("CURRENT MOLECULAR TEST SUMMARY", testsPerformed.ToString(), document, "F"); this.AddNextObxElementBeaker("Specimen Description: ", "Thin Prep Fluid", document, "F"); this.AddNextObxElementBeaker("Specimen Source: ", this.m_AccessionOrder.SpecimenOrderCollection[0].SpecimenSource, document, "F"); string collectionDateTimeString = this.m_AccessionOrder.SpecimenOrderCollection[0].GetCollectionDateTimeString(); this.AddNextObxElementBeaker("Collection Date/Time: ", collectionDateTimeString, document, "F"); this.AddNextObxElementBeaker("Clinical History: ", this.m_AccessionOrder.ClinicalHistory, document, "F"); this.AddNextObxElementBeaker("Method: ", womensHealthProfileResult.Method, document, "F"); this.AddNextObxElementBeaker("References: ", womensHealthProfileResult.References, document, "F"); string locationPerformed = womensHealthProfileTestOrder.GetLocationPerformedComment(); this.AddNextObxElementBeaker("Location Performed: ", locationPerformed, document, "F"); StringBuilder priorTests = new StringBuilder(); YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest panelSetThinPrepPap = new YellowstonePathology.Business.Test.ThinPrepPap.ThinPrepPapTest(); DateTime cutoffDate = this.m_AccessionOrder.AccessionDate.Value.AddYears(-5); YellowstonePathology.Business.Domain.PatientHistory patientHistory = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetPatientHistory(this.m_AccessionOrder.PatientId); YellowstonePathology.Business.Domain.PatientHistory priorPapRelatedHistory = patientHistory.GetPriorPapRelatedHistory(this.m_AccessionOrder.MasterAccessionNo, cutoffDate); if (priorPapRelatedHistory.Count == 0) { priorTests.AppendLine("No prior tests performed"); } else { foreach (YellowstonePathology.Business.Domain.PatientHistoryResult patientHistoryResult in priorPapRelatedHistory) { YellowstonePathology.Business.Test.AccessionOrder accessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.GetAccessionOrderByMasterAccessionNo(patientHistoryResult.MasterAccessionNo); foreach (YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder in accessionOrder.PanelSetOrderCollection) { string reportNo = null; string result = null; if (panelSetOrder.PanelSetId == panelSetThinPrepPap.PanelSetId || panelSetOrder.PanelSetId == panelSetHPV.PanelSetId || panelSetOrder.PanelSetId == panelSetHPV1618.PanelSetId || panelSetOrder.PanelSetId == panelSetNGCT.PanelSetId || panelSetOrder.PanelSetId == panelSetTrichomonas.PanelSetId) { reportNo = panelSetOrder.ReportNo; string finaldate = YellowstonePathology.Business.Helper.DateTimeExtensions.DateStringFromNullable(panelSetOrder.FinalDate); result = panelSetOrder.GetResultWithTestName(); priorTests.AppendLine("Test: " + panelSetOrder.PanelSetName + " Report No: " + reportNo + " Result: " + result + " Final Date: " + finaldate); } } } } this.AddNextObxElementBeaker("PRIOR PAP AND GYN MOLECULAR TESTS", priorTests.ToString(), document, "F"); }