private bool ProcessHL7Message(string filePath, ref string sendData) { string fileContent = string.Empty; if (!ReadFileContent(filePath, ref fileContent)) { return(false); } Message notify = new Message(); //notify.Header.Type = MessageRegistry.HL7V2_NotificationMessageType; notify.Header.Type = MessageRegistry.GENERIC_NotificationMessageType; HYS.IM.Messaging.Registry.HL7MessageHelper.SetHL7V2PayLoad(notify, fileContent); _publisher.Context.Log.Write("Begin sending notification to subscriber."); bool ret = _publisher.NotifyMessagePublish(notify); _publisher.Context.Log.Write("End sending notification to subscriber. Result: " + ret.ToString()); if (ret) { sendData = HL7MessageParser.FormatResponseMessage(fileContent, _publisher.Context.ConfigMgr.Config.ReadHL7AckAATemplate()); } else { sendData = HL7MessageParser.FormatResponseMessage(fileContent, _publisher.Context.ConfigMgr.Config.ReadHL7AckAETemplate()); } _publisher.Context.Log.Write("End processing HL7v2 text message"); return(ret); }
public static MessagePair GetMessagePair(string recieveMessage, List <SampleTemplate> templateList) { DateTime dtBegin = DateTime.Now; MessagePair p = new MessagePair(); p.IncomingMessageContent = recieveMessage; p.IncomingMessageType = HL7MessageParser.GetField(recieveMessage, "MSH", 9).Replace("^", "_"); SampleTemplate matchTemplate = null; SampleTemplate commonTemplate = null; foreach (SampleTemplate t in templateList) { string msgType = t.GetIncomingMessageType(); if (msgType == "ANY") { commonTemplate = t; } if (p.IncomingMessageType == msgType) { matchTemplate = t; break; } } if (matchTemplate == null) { matchTemplate = commonTemplate; } if (matchTemplate == null) { Program.Context.Log.Write(LogType.Error, string.Format("Cannot find match acknowledgment message template for message {0} \r\n{1}", p.IncomingMessageType, p.IncomingMessageContent)); p.OutgoingMessageType = "AE"; p.OutgoingMessageContent = HL7MessageParser.FormatResponseMessage (p.IncomingMessageContent, HL7MessageTemplates.ErrorResponse); } else { p.Template = matchTemplate; p.OutgoingMessageType = matchTemplate.GetOutgoingMessageType(); p.OutgoingMessageContent = HL7MessageParser.FormatResponseMessage (p.IncomingMessageContent, matchTemplate.GetTemplate()); } DateTime dtEnd = DateTime.Now; p.ProcessingTime = dtEnd.Subtract(dtBegin); return(p); }
private void buttonGenerate_Click(object sender, EventArgs e) { string rqMessage = this.textBoxReceive.Text; string rspMessageTemplate = this.textBoxSendTemplate.Text; string rspMessage = HL7MessageParser.FormatResponseMessage(rqMessage, rspMessageTemplate); MessageBox.Show(this, rspMessage, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); }
private bool ProcessHL7XMLMessage(string filePath, ref string sendData) { string fileContent = string.Empty; if (!ReadFileContent(filePath, ref fileContent)) { return(false); } string fileName = Path.GetFileName(filePath); string strXml = fileContent; if (_transformer.TransformHL7v2ToXml(fileContent, out strXml)) { _publisher.Context.Log.Write(LogType.Debug, "Transformed HL7 xml content is : \r\n" + strXml); } else { _publisher.Context.Log.Write(LogType.Error, "Transforming HL7 to xml error."); FileHelper.MoveFile(filePath, Path.Combine(_fialedFolder, fileName)); _publisher.Context.Log.Write(string.Format("Moved file {0} to {1}", fileName, _fialedFolder)); return(false); } bool res = DispatchXMLMessage(strXml); if (res) { sendData = HL7MessageParser.FormatResponseMessage(fileContent, _publisher.Context.ConfigMgr.Config.ReadHL7AckAATemplate()); } else { sendData = HL7MessageParser.FormatResponseMessage(fileContent, _publisher.Context.ConfigMgr.Config.ReadHL7AckAETemplate()); } return(res); }