private XElement CreateDocument() { XElement document = new XElement("HL7Message"); this.m_ObxCount = 1; EPICHl7Client client = new EPICHl7Client(); OruR01 messageType = new OruR01(); string locationCode = "YPIIBILLINGS"; if (this.m_AccessionOrder.SvhMedicalRecord.StartsWith("A") == true) { locationCode = "SVHNPATH"; } EPICMshView msh = new EPICMshView(client, messageType, locationCode); msh.ToXml(document); EpicPidView pid = new EpicPidView(this.m_AccessionOrder.SvhMedicalRecord, this.m_AccessionOrder.PLastName, this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PBirthdate, this.m_AccessionOrder.PSex, this.m_AccessionOrder.SvhAccount, this.m_AccessionOrder.PSSN); pid.ToXml(document); EPICOrcView orc = new EPICOrcView(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); string resultStatus = ResultStatusEnum.Final.Value; YellowstonePathology.Business.Amendment.Model.AmendmentCollection amendmentCollection = this.m_AccessionOrder.AmendmentCollection.GetAmendmentsForReport(panelSetOrder.ReportNo); if (amendmentCollection.Count != 0) { resultStatus = ResultStatusEnum.Correction.Value; } YellowstonePathology.Business.ClientOrder.Model.UniversalServiceCollection universalServiceIdCollection = YellowstonePathology.Business.ClientOrder.Model.UniversalServiceCollection.GetAll(); YellowstonePathology.Business.ClientOrder.Model.UniversalService universalService = universalServiceIdCollection.GetByUniversalServiceId(panelSetOrder.UniversalServiceId); EPICBeakerObrView obr = new EPICBeakerObrView(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, universalService, this.m_SendUnsolicited, this.m_AccessionOrder.SystemInitiatingOrder); obr.ToXml(document); EPICObxView epicObxView = EPICObxViewFactory.GetObxView(panelSetOrder.PanelSetId, this.m_AccessionOrder, this.m_PanelSetOrder.ReportNo, this.m_ObxCount, true); epicObxView.ToXml(document); this.m_ObxCount = epicObxView.ObxCount; return(document); }
public void Publish(string basePath) { XElement document = new XElement("HL7Message"); Hl7Client client = null; YellowstonePathology.Business.Client.Model.ClientGroupClientCollection hrhGroup = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientGroupClientCollectionByClientGroupId("2"); if (hrhGroup.ClientIdExists(this.m_AccessionOrder.ClientId) == true) { client = new EPICHRHClient(); } else { client = new EPICHl7Client(); } DFTP03 messageType = new DFTP03(); YellowstonePathology.Business.Domain.Physician orderingPhysician = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetPhysicianByPhysicianId(this.m_AccessionOrder.PhysicianId); string locationCode = "YPIIBILLINGS"; if (this.m_PanelSetOrderCPTCodeBill.MedicalRecord.StartsWith("A") == true) { throw new Exception("Cant send CDM for an A Number: " + this.m_AccessionOrder.SvhMedicalRecord); } EPICMshView msh = new EPICMshView(client, messageType, locationCode); msh.ToXml(document); EpicPidView pid = new EpicPidView(this.m_PanelSetOrderCPTCodeBill.MedicalRecord, this.m_AccessionOrder.PLastName, this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PBirthdate, this.m_AccessionOrder.PSex, this.m_PanelSetOrderCPTCodeBill.Account, this.m_AccessionOrder.PSSN); pid.ToXml(document); Business.Billing.Model.CptCode cptCode = Store.AppDataStore.Instance.CPTCodeCollection.GetClone(this.m_PanelSetOrderCPTCodeBill.CPTCode, this.m_PanelSetOrderCPTCodeBill.Modifier); DateTime transactionDate = m_AccessionOrder.CollectionDate.Value; DateTime transactionPostingDate = this.m_PanelSetOrderCPTCodeBill.PostDate.Value; EPICFT1View epicFT1View = new EPICFT1View(cptCode, transactionDate, transactionPostingDate, this.m_PanelSetOrderCPTCodeBill.Quantity.ToString(), orderingPhysician, this.m_AccessionOrder.MasterAccessionNo); epicFT1View.ToXml(document, 1); string fileName = System.IO.Path.Combine(basePath, this.m_PanelSetOrderCPTCodeBill.PanelSetOrderCPTCodeBillId + "." + cptCode.Code + ".hl7.xml"); using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fileName)) { document.Save(sw); } }
private void PublishDocument(string fileName) { XElement document = new XElement("HL7Message"); this.m_ObxCount = 1; EPICHl7Client client = new EPICHl7Client(); OruR01 messageType = new OruR01(); string locationCode = "YPIIBILLINGS"; if (this.m_ClientOrder.SvhMedicalRecord.StartsWith("A") == true) { locationCode = "SVHNPATH"; } EPICMshView msh = new EPICMshView(client, messageType, locationCode); msh.ToXml(document); PidView pid = new PidView(this.m_ClientOrder.SvhMedicalRecord, this.m_ClientOrder.PLastName, this.m_ClientOrder.PFirstName, this.m_ClientOrder.PBirthdate, this.m_ClientOrder.PSex, this.m_ClientOrder.SvhAccountNo, this.m_ClientOrder.PSSN); pid.ToXml(document); EPICStatusOrcView orc = new EPICStatusOrcView(this.m_ClientOrder.ExternalOrderId, this.m_OrderingPhysician, this.m_OrderStatus); orc.ToXml(document); EPICStatusObrView obr = new EPICStatusObrView(this.m_ClientOrder.ExternalOrderId, string.Empty, this.m_DateOfService, null, this.m_OrderingPhysician, this.m_ResultStatus, this.m_UniversalService); obr.ToXml(document); EPICStatusObxView obx = new EPICStatusObxView(m_ObxCount, this.m_ResultStatus, this.m_ResultMessage); obx.ToXml(document); this.m_ObxCount = obx.ObxCount; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fileName)) { document.Save(sw); } }
public YellowstonePathology.Business.Rules.MethodResult Send() { YellowstonePathology.Business.Rules.MethodResult result = new Rules.MethodResult(); if (result.Success == true) { this.m_Document = new XElement("HL7Message"); this.m_ObxCount = 1; EPICHl7Client client = new EPICHl7Client(); OruR01 messageType = new OruR01(); string locationCode = "YPIIBILLINGS"; if (this.m_ClientOrder.SvhMedicalRecord.StartsWith("A") == true) { locationCode = "SVHNPATH"; } EPICMshView msh = new EPICMshView(client, messageType, locationCode); msh.ToXml(this.m_Document); PidView pid = new PidView(this.m_ClientOrder.SvhMedicalRecord, this.m_ClientOrder.PLastName, this.m_ClientOrder.PFirstName, this.m_ClientOrder.PBirthdate, this.m_ClientOrder.PSex, this.m_ClientOrder.SvhAccountNo, this.m_ClientOrder.PSSN); pid.ToXml(this.m_Document); EPICStatusOrcView orc = new EPICStatusOrcView(this.m_ClientOrder.ExternalOrderId, this.m_OrderingPhysician, this.m_OrderStatus); orc.ToXml(this.m_Document); EPICStatusObrView obr = new EPICStatusObrView(this.m_ClientOrder.ExternalOrderId, string.Empty, this.m_ClientOrder.OrderTime, null, this.m_OrderingPhysician, ResultStatusEnum.InProcess.Value, this.m_UniversalService); obr.ToXml(this.m_Document); EPICStatusObxView obx = new EPICStatusObxView(m_ObxCount); obx.ToXml(this.m_Document); this.m_ObxCount = obx.ObxCount; using (System.IO.StreamWriter sw = new System.IO.StreamWriter(this.m_ServerFileName)) { this.m_Document.Save(sw); } System.IO.File.Copy(this.m_ServerFileName, this.m_InterfaceFilename); } return result; }
private XElement CreateDocument() { XElement document = new XElement("HL7Message"); this.m_ObxCount = 1; EPICHl7Client client = new EPICHl7Client(); OruR01 messageType = new OruR01(); string locationCode = "YPIIBILLINGS"; if (this.m_AccessionOrder.SvhMedicalRecord.StartsWith("A") == true) { locationCode = "SVHNPATH"; } EPICMshView msh = new EPICMshView(client, messageType, locationCode); msh.ToXml(document); EpicPidView pid = new EpicPidView(this.m_AccessionOrder.SvhMedicalRecord, this.m_AccessionOrder.PLastName, this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PBirthdate, this.m_AccessionOrder.PSex, this.m_AccessionOrder.SvhAccount, this.m_AccessionOrder.PSSN); pid.ToXml(document); EPICOrcView orc = new EPICOrcView(this.m_AccessionOrder.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); string resultStatus = ResultStatusEnum.Final.Value; if (panelSetOrder.AmendmentCollection.Count != 0) resultStatus = ResultStatusEnum.Correction.Value; YellowstonePathology.Business.ClientOrder.Model.UniversalServiceCollection universalServiceIdCollection = YellowstonePathology.Business.ClientOrder.Model.UniversalServiceCollection.GetAll(); YellowstonePathology.Business.ClientOrder.Model.UniversalService universalService = universalServiceIdCollection.GetByUniversalServiceId(panelSetOrder.UniversalServiceId); EPICObrView obr = new EPICObrView(this.m_AccessionOrder.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, universalService, this.m_SendUnsolicited); obr.ToXml(document); EPICObxView epicObxView = EPICObxViewFactory.GetObxView(panelSetOrder.PanelSetId, this.m_AccessionOrder, this.m_PanelSetOrder.ReportNo, this.m_ObxCount); epicObxView.ToXml(document); this.m_ObxCount = epicObxView.ObxCount; return document; }
private XElement CreateDocument() { XElement document = new XElement("HL7Message"); EPICHl7Client client = new EPICHl7Client(); DFTP03 messageType = new DFTP03(); string locationCode = "YPIIBILLINGS"; if (this.m_AccessionOrder.SvhMedicalRecord.StartsWith("A") == true) { locationCode = "SVHNPATH"; } EPICMshView msh = new EPICMshView(client, messageType, locationCode); msh.ToXml(document); EpicPidView pid = new EpicPidView(this.m_AccessionOrder.SvhMedicalRecord, this.m_AccessionOrder.PLastName, this.m_AccessionOrder.PFirstName, this.m_AccessionOrder.PBirthdate, this.m_AccessionOrder.PSex, this.m_AccessionOrder.SvhAccount, this.m_AccessionOrder.PSSN); pid.ToXml(document); DateTime transactionDate = this.m_PanelSetOrderCPTCodeBill.PostDate.Value; EPICFT1View epicFT1View = new EPICFT1View(this.m_CptCode, transactionDate, transactionDate, this.m_PanelSetOrderCPTCodeBill.Quantity.ToString(), this.m_OrderingPhysician); epicFT1View.ToXml(document); return document; }