public PatientMessageConfiguration GetPatientMessageConfiguration(string patientMessageKey)
        {
            PatientMessageConfiguration patientMsgConfig = null;
            Database  db            = DatabaseFactory.CreateDatabase(CONST_CONNECTIONSTRING_NAME);
            DbCommand selectCommand = db.GetStoredProcCommand("usp_PatientMessageConfiguration_get");

            db.AddInParameter(selectCommand, "patientMessageKey", DbType.String, patientMessageKey);

            using (IDataReader dbReader = db.ExecuteReader(selectCommand))
            {
                while (dbReader.Read())
                {
                    patientMsgConfig = new PatientMessageConfiguration();

                    if (!dbReader.IsDBNull(dbReader.GetOrdinal("patientMessageID")))
                    {
                        patientMsgConfig.PatientMessageID = dbReader.GetInt32(dbReader.GetOrdinal("patientMessageID"));
                    }

                    if (!dbReader.IsDBNull(dbReader.GetOrdinal("patientMessageKey")))
                    {
                        patientMsgConfig.PatientMessageKey = dbReader.GetString(dbReader.GetOrdinal("patientMessageKey"));
                    }

                    if (!dbReader.IsDBNull(dbReader.GetOrdinal("patientMessageValue")))
                    {
                        patientMsgConfig.PatientMessageValue = dbReader.GetString(dbReader.GetOrdinal("patientMessageValue"));
                    }
                }
            }

            return(patientMsgConfig);
        }
Exemplo n.º 2
0
        public XmlDocument ConstructPatientAcknowledgementMessage(XmlDocument requestMessage, string resultCode, string patientMessageKey)
        {
            XmlDocument xmlDocResponse = null;
            PatientIdentityFeedDataAccess patientDataAccess = null;
            PatientMessageConfiguration   patientMsgConfig  = null;
            XmlElement root = null;
            XmlNode    node = null;
            string     originalMessageID = null;
            string     interactionIDRoot = null;
            string     receiverRoot      = null;
            string     senderRoot        = null;


            //Get Patient Record Added Acknowledgement Message
            patientDataAccess = new PatientIdentityFeedDataAccess();
            patientMsgConfig  = patientDataAccess.GetPatientMessageConfiguration(patientMessageKey);

            root = requestMessage.DocumentElement;

            //id
            node = root.SelectSingleNode(".//*[local-name()='id']");
            originalMessageID = node.Attributes["root"].Value;

            //interactionId\root
            node = root.SelectSingleNode(".//*[local-name()='interactionId']");
            interactionIDRoot = node.Attributes["root"].Value;

            //receiver
            node         = root.SelectSingleNode(".//*[local-name()='receiver']/*[local-name()='device']/*[local-name()='id']");
            receiverRoot = node.Attributes["root"].Value;

            //sender
            node       = root.SelectSingleNode(".//*[local-name()='sender']/*[local-name()='device']/*[local-name()='id']");
            senderRoot = node.Attributes["root"].Value;

            //Replace Values
            //$NEW.GUID$
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$NEW.GUID$", Guid.NewGuid().ToString());

            //$creationTime$
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$creationTime$", DateTime.Now.ToString(PATIENT_ACK_DATETIME_FORMAT));

            //$INTERACTION.ID$
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$INTERACTION.ID$", interactionIDRoot);

            //$RECEIVER.ROOT$ - Swap Sender & Receiver fromthe original message
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$RECEIVER.ROOT$", senderRoot);

            //$SENDER.ROOT$ - Swap Sender & Receiver fromthe original message
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$SENDER.ROOT$", receiverRoot);

            //$RESULT.CODE$
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$RESULT.CODE$", resultCode);

            //$ORIGINAL.MESSAGE.ID$
            patientMsgConfig.PatientMessageValue = patientMsgConfig.PatientMessageValue.Replace("$ORIGINAL.MESSAGE.ID$", originalMessageID);

            xmlDocResponse = new XmlDocument();
            xmlDocResponse.LoadXml(patientMsgConfig.PatientMessageValue);

            return(xmlDocResponse);
        }