internal static bool PostHpiMessage(string fileName, string messageHeader, string replyToMessageID, string encryptedMessage)
        {
            try
            {
                // instantiate message file object and populated properties from header
                HiMessageFile mf = new HiMessageFile(messageHeader);
                mf.replyToMessageId = replyToMessageID;

                // message will be empty if this is a notification (hashed PID will be in replyToMessageID)
                if (!string.IsNullOrEmpty(encryptedMessage))
                {
                    // save file to disk and populate message file name and size properties
                    mf.messageFileName = mf.SaveMessageToDisk(fileName, encryptedMessage);
                    mf.fileSize        = mf.GetFileSize(mf.messageFileName);
                }

                // record in Patients First DB - Gp2GpTransfer table
                Gp2GpTransfer.AddGp2GpTransfer(mf);
            }
            catch (Exception ex)
            {
                Log.Write("ERROR: " + ex.ToString(), LogLevel.ExceptionOnly);
                throw;
            }

            return(true);
        }