public static ECWOBXView GetOBXView(int panelSetId, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, string reportNo, int obxCount) { ECWOBXView view = null; switch (panelSetId) { case 13: view = new YellowstonePathology.Business.Test.Surgical.SurgicalECWOBXView(accessionOrder, reportNo, obxCount); break; } return(view); }
private XElement CreateDocument() { XElement document = new XElement("HL7Message"); this.m_ObxCount = 1; ECWHl7Client client = new ECWHl7Client(); OruR01 messageType = new OruR01(); string locationCode = "YPIIBILLINGS"; ECWMSHView msh = new ECWMSHView(client, messageType, locationCode); msh.ToXml(document); ECWPIDView pid = new ECWPIDView(this.m_AccessionOrder.SvhMedicalRecord, this.m_AccessionOrder.PLastName, this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PBirthdate, this.m_AccessionOrder.PSex, this.m_AccessionOrder.PSSN); pid.ToXml(document); ECWORCView orc = new ECWORCView(this.m_PanelSetOrder.ExternalOrderId, this.m_OrderingPhysician, this.m_AccessionOrder.MasterAccessionNo, OrderStatusEnum.Complete, this.m_AccessionOrder.SystemInitiatingOrder, this.m_SendUnsolicited); orc.ToXml(document); YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.m_PanelSetOrder.ReportNo); ResultStatus resultStatus = ResultStatusEnum.Final; YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(panelSetOrder.ReportNo); if (amendmentCollection.Count != 0) { resultStatus = ResultStatusEnum.Correction; } YellowstonePathology.Business.ClientOrder.Model.UniversalServiceCollection universalServiceIdCollection = YellowstonePathology.Business.ClientOrder.Model.UniversalServiceCollection.GetAll(); YellowstonePathology.Business.ClientOrder.Model.UniversalService universalService = universalServiceIdCollection.GetByUniversalServiceId(panelSetOrder.UniversalServiceId); ECWOBRView obr = new ECWOBRView(this.m_PanelSetOrder.ExternalOrderId, this.m_AccessionOrder.MasterAccessionNo, this.m_PanelSetOrder.ReportNo, this.m_AccessionOrder.SpecimenOrderCollection[0].CollectionDate, this.m_AccessionOrder.SpecimenOrderCollection[0].CollectionTime, this.m_AccessionOrder.AccessionDateTime, panelSetOrder.FinalTime, this.m_OrderingPhysician, resultStatus.Value, universalService, this.m_SendUnsolicited); obr.ToXml(document); ECWOBXView ecwOBXView = ECWOBXViewFactory.GetOBXView(panelSetOrder.PanelSetId, this.m_AccessionOrder, this.m_PanelSetOrder.ReportNo, this.m_ObxCount); ecwOBXView.ToXml(document); this.m_ObxCount = ecwOBXView.ObxCount; return(document); }