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;
            }
        }