Пример #1
0
        /// <summary>
        /// Handles a merge.
        /// </summary>
        /// <param name="message">The ADT_A40 message.</param>
        /// <param name="e">The <see cref="Hl7MessageReceivedEventArgs"/> instance containing the event data.</param>
        /// <returns>Returns the response message from the merge event.</returns>
        private IMessage HandleMerge(NHapi.Model.V231.Message.ADT_A40 message, Hl7MessageReceivedEventArgs e)
        {
            var parser = new PipeParser();

            message.MSH.MessageType.MessageStructure.Value = "ADT_A39";

            var encodedMessage = parser.Parse(parser.Encode(message));

            if (encodedMessage is NHapi.Model.V231.Message.ADT_A39)
            {
                return(this.HandleMerge(encodedMessage as NHapi.Model.V231.Message.ADT_A39, e));
            }

            return(MessageUtil.CreateNack(e.Message, "AR", "200", ApplicationContext.Current.GetLocaleString("MSGE074")));
        }
Пример #2
0
        private IMessage HandlePixMerge(NHapi.Model.V231.Message.ADT_A40 aDT_A40, Hl7MessageReceivedEventArgs e)
        {
            ILocalizationService        locale = this.Context.GetService(typeof(ILocalizationService)) as ILocalizationService;
            ISystemConfigurationService config = this.Context.GetService(typeof(ISystemConfigurationService)) as ISystemConfigurationService;

            PipeParser parser = new PipeParser();

            aDT_A40.MSH.MessageType.MessageStructure.Value = "ADT_A39";
            var message = parser.Parse(parser.Encode(aDT_A40));

            if (message is NHapi.Model.V231.Message.ADT_A39)
            {
                return(this.HandlePixMerge(message as NHapi.Model.V231.Message.ADT_A39, e));
            }
            else
            {
                return(MessageUtil.CreateNack(e.Message, "AR", "200", locale.GetString("MSGE074"), config));
            }
        }