Ejemplo n.º 1
0
        public override void OnHl7Message(MessageStructure ms)
        {
            string cmdDesc = "";

            try
            {
                var segments = MessageStructureConverter.MessageStructureToSegments(ms);
                var hl7      = HL7MessageAdapterFactory.Create(segments.Item1, segments.Item2);
                var cmd      = MWLCommandsFactory.MapHL7ToMWLCommand(hl7, pps: false);

                cmdDesc = cmd.Desc();

                cmd.Execute();

                Logger.Global.Log("HL7MWL", null, string.Empty, -1, string.Empty, string.Empty, -1, DicomCommandType.Undefined, DateTime.Now, LogType.Information, MessageDirection.None,
                                  "Command(s) executed successfully (" + cmdDesc + ")", null, null);
            }
            catch (Exception ex)
            {
                var err = ex.Message;

                if (string.IsNullOrEmpty(cmdDesc))
                {
                    err += " while executing: (" + cmdDesc + ")";
                }

                Logger.Global.Log("HL7MWL", null, string.Empty, -1, string.Empty, string.Empty, -1, DicomCommandType.Undefined, DateTime.Now, LogType.Error, MessageDirection.None,
                                  err, null, null);

                throw;
            }
        }
Ejemplo n.º 2
0
        IHL7MessageItem ParsePipeMessage(string pipe)
        {
            PipeMessageConverter      pmc = new PipeMessageConverter();
            MessageStructure          ms  = pmc.PipeMessageToMessageStructure(pipe);
            MessageStructureConverter msc = new MessageStructureConverter();

            Exception exParse = null;

            try
            {
                IHL7MessageItem msg = msc.MessageStructureToMessage(ms, new MessageStructureConverter.Options()
                {
                    Add_NoneStandardSegmentToRoot = true, Ignore_NoneStandardSegment = true, Parse_RepeatableParentGroupFirst = true, Forgive_IncompleteMessage = true
                }).Message;
                return(msg);
            }
            catch (Exception e)
            {
                exParse = e;
            }

            try
            {
                IHL7MessageItem msg = msc.MessageStructureToMessage(ms, new MessageStructureConverter.Options()
                {
                    Add_NoneStandardSegmentToRoot = true, Ignore_NoneStandardSegment = true, Parse_RepeatableParentGroupFirst = false, Forgive_IncompleteMessage = true
                }).Message;
                return(msg);
            }
            catch
            {
                throw exParse;
            }
        }