Пример #1
0
        public void PostMsh(Hl7Msh msh, string url)
        {
            ApiResponse apiResponse = new ApiResponse();

            SetMshRequest objRequest = new SetMshRequest();

            objRequest.Params = msh;

            apiResponse = ApiCommunicator.CallApi(url, JsonHelper.ConvertToJson(objRequest), "POST",
                                                  "application/json");
        }
Пример #2
0
        public int SetMsh(Hl7Msh mshContent)
        {
            int Id = -1;

            try
            {
                using (DbCommand spCommand = database.GetStoredProcCommand("SetMsh"))
                {
                    database.AddInParameter(spCommand, "@ID", DbType.Int32, mshContent.ID);
                    database.AddInParameter(spCommand, "@PatientID", DbType.Int32, mshContent.PatientId);
                    database.AddInParameter(spCommand, "@MSH_1", DbType.String, mshContent.Msh1);
                    database.AddInParameter(spCommand, "@MSH_2", DbType.String, mshContent.Msh2);
                    database.AddInParameter(spCommand, "@MSH_3_1", DbType.String, mshContent.Msh3_1);
                    database.AddInParameter(spCommand, "@MSH_3_2", DbType.String, mshContent.Msh3_2);
                    database.AddInParameter(spCommand, "@MSH_3_3", DbType.String, mshContent.Msh3_3);
                    database.AddInParameter(spCommand, "@MSH_4_1", DbType.String, mshContent.Msh4_1);
                    database.AddInParameter(spCommand, "@MSH_4_2", DbType.String, mshContent.Msh4_2);
                    database.AddInParameter(spCommand, "@MSH_4_3", DbType.String, mshContent.Msh4_3);
                    database.AddInParameter(spCommand, "@MSH_5_1", DbType.String, mshContent.Msh5_1);
                    database.AddInParameter(spCommand, "@MSH_5_2", DbType.String, mshContent.Msh5_2);
                    database.AddInParameter(spCommand, "@MSH_5_3", DbType.String, mshContent.Msh5_3);
                    database.AddInParameter(spCommand, "@MSH_6_1", DbType.String, mshContent.Msh6_1);
                    database.AddInParameter(spCommand, "@MSH_6_2", DbType.String, mshContent.Msh6_2);
                    database.AddInParameter(spCommand, "@MSH_6_3", DbType.String, mshContent.Msh6_3);
                    database.AddInParameter(spCommand, "@MSH_7", DbType.String, mshContent.Msh7);
                    database.AddInParameter(spCommand, "@MSH_8", DbType.String, mshContent.Msh8);
                    database.AddInParameter(spCommand, "@MSH_9_1", DbType.String, mshContent.Msh9_1);
                    database.AddInParameter(spCommand, "@MSH_9_2", DbType.String, mshContent.Msh9_2);
                    database.AddInParameter(spCommand, "@MSH_10 ", DbType.String, mshContent.Msh10);
                    database.AddInParameter(spCommand, "@MSH_11_1  ", DbType.String, mshContent.Msh11_1);
                    database.AddInParameter(spCommand, "@MSH_11_2  ", DbType.String, mshContent.Msh11_2);
                    database.AddInParameter(spCommand, "@MSH_12 ", DbType.String, mshContent.Msh12);
                    database.AddInParameter(spCommand, "@MSH_13 ", DbType.String, mshContent.Msh13);
                    database.AddInParameter(spCommand, "@MSH_14 ", DbType.String, mshContent.Msh14);
                    database.AddInParameter(spCommand, "@MSH_15 ", DbType.String, mshContent.Msh15);
                    database.AddInParameter(spCommand, "@MSH_16 ", DbType.String, mshContent.Msh16);
                    database.AddInParameter(spCommand, "@MSH_17 ", DbType.String, mshContent.Msh17);
                    database.AddInParameter(spCommand, "@MSH_18 ", DbType.String, mshContent.Msh18);
                    database.AddInParameter(spCommand, "@MSH_19 ", DbType.String, mshContent.Msh19);

                    //database.AddOutParameter(spCommand, "@NotificationID", DbType.Int32, Int32.MaxValue);
                    database.ExecuteScalar(spCommand);
                    //Id = (Int32)database.GetParameterValue(spCommand, "@NotificationID");
                }
            }
            catch (Exception ex)
            {
                throw ex;
                //logger if any
            }

            return(Id);
        }
Пример #3
0
        public Hl7Msh GetMsh(int id)
        {
            Hl7Msh mshItem = null;

            try
            {
                DataTable dtMsh = DataProvider.GetMsh(id);
                if (dtMsh != null && dtMsh.Rows.Count >= 1)
                {
                    DataRow dr = dtMsh.Rows[0];
                    mshItem           = new Hl7Msh();
                    mshItem.ID        = Convert.ToInt32(dr["ID"]);
                    mshItem.PatientId = Convert.ToInt32(dr["PatientID"]);
                    mshItem.Msh1      = Convert.ToString(dr["MSH_1"]);
                    mshItem.Msh2      = Convert.ToString(dr["MSH_2"]);
                    mshItem.Msh3_1    = Convert.ToString(dr["MSH_3_1"]);
                    mshItem.Msh3_2    = Convert.ToString(dr["MSH_3_2"]);
                    mshItem.Msh3_3    = Convert.ToString(dr["MSH_3_3"]);
                    mshItem.Msh4_1    = Convert.ToString(dr["MSH_4_1"]);
                    mshItem.Msh4_2    = Convert.ToString(dr["MSH_4_2"]);
                    mshItem.Msh4_3    = Convert.ToString(dr["MSH_4_3"]);
                    mshItem.Msh5_1    = Convert.ToString(dr["MSH_5_1"]);
                    mshItem.Msh5_2    = Convert.ToString(dr["MSH_5_2"]);
                    mshItem.Msh5_3    = Convert.ToString(dr["MSH_5_3"]);
                    mshItem.Msh6_1    = Convert.ToString(dr["MSH_6_1"]);
                    mshItem.Msh6_2    = Convert.ToString(dr["MSH_6_2"]);
                    mshItem.Msh6_3    = Convert.ToString(dr["MSH_6_3"]);
                    mshItem.Msh7      = Convert.ToString(dr["MSH_7"]);
                    mshItem.Msh8      = Convert.ToString(dr["MSH_8"]);
                    mshItem.Msh9_1    = Convert.ToString(dr["MSH_9_1"]);
                    mshItem.Msh9_2    = Convert.ToString(dr["MSH_9_2"]);
                    mshItem.Msh10     = Convert.ToString(dr["MSH_10"]);
                    mshItem.Msh11_1   = Convert.ToString(dr["MSH_11_1"]);
                    mshItem.Msh11_2   = Convert.ToString(dr["MSH_11_2"]);
                    mshItem.Msh12     = Convert.ToString(dr["MSH_12"]);
                    mshItem.Msh13     = Convert.ToString(dr["MSH_13"]);
                    mshItem.Msh14     = Convert.ToString(dr["MSH_14"]);
                    mshItem.Msh15     = Convert.ToString(dr["MSH_15"]);
                    mshItem.Msh16     = Convert.ToString(dr["MSH_16"]);
                    mshItem.Msh17     = Convert.ToString(dr["MSH_17"]);
                    mshItem.Msh18     = Convert.ToString(dr["MSH_18"]);
                    mshItem.Msh19     = Convert.ToString(dr["MSH_19"]);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(mshItem);
        }
Пример #4
0
        private Hl7Msh ConvertToMsh(string[] msh)
        {
            Hl7Msh mshSeg = new Hl7Msh();

            mshSeg.Msh1 = GetArrayElement(msh, 1);
            mshSeg.Msh2 = GetArrayElement(msh, 2);

            string[] msh3 = GetArrayElement(msh, 3).Split('^');
            mshSeg.Msh3_1 = GetArrayElement(msh3, 0);
            mshSeg.Msh3_2 = GetArrayElement(msh3, 1);
            mshSeg.Msh3_3 = GetArrayElement(msh3, 2);

            string[] msh4 = GetArrayElement(msh, 4).Split('^');
            mshSeg.Msh4_1 = GetArrayElement(msh4, 0);
            mshSeg.Msh4_2 = GetArrayElement(msh4, 1);
            mshSeg.Msh4_3 = GetArrayElement(msh4, 2);

            string[] msh5 = GetArrayElement(msh, 5).Split('^');
            mshSeg.Msh5_1 = GetArrayElement(msh5, 0);
            mshSeg.Msh5_2 = GetArrayElement(msh5, 1);
            mshSeg.Msh5_3 = GetArrayElement(msh5, 2);

            string[] msh6 = GetArrayElement(msh, 6).Split('^');
            mshSeg.Msh6_1 = GetArrayElement(msh6, 0);
            mshSeg.Msh6_2 = GetArrayElement(msh6, 1);
            mshSeg.Msh6_3 = GetArrayElement(msh6, 2);
            mshSeg.Msh7   = GetArrayElement(msh, 7);
            mshSeg.Msh8   = GetArrayElement(msh, 8);

            string[] msh9 = GetArrayElement(msh, 9).Split('^');
            mshSeg.Msh9_1 = GetArrayElement(msh9, 0);
            mshSeg.Msh9_2 = GetArrayElement(msh9, 1);
            mshSeg.Msh10  = GetArrayElement(msh, 10);

            string[] msh11 = GetArrayElement(msh, 11).Split('^');
            mshSeg.Msh11_1 = GetArrayElement(msh11, 0);
            mshSeg.Msh11_2 = GetArrayElement(msh11, 1);
            mshSeg.Msh12   = GetArrayElement(msh, 12);
            mshSeg.Msh13   = GetArrayElement(msh, 13);
            mshSeg.Msh14   = GetArrayElement(msh, 14);
            mshSeg.Msh15   = GetArrayElement(msh, 15);
            mshSeg.Msh16   = GetArrayElement(msh, 16);
            mshSeg.Msh17   = GetArrayElement(msh, 17);
            mshSeg.Msh18   = GetArrayElement(msh, 18);
            mshSeg.Msh19   = GetArrayElement(msh, 19);

            return(mshSeg);
        }
Пример #5
0
        public int SetMsh(Hl7Msh msh)
        {
            int id = -1;

            if (DataProvider == null)
            {
                DataProvider = new DataProvider();
            }

            try
            {
                DataProvider.SetMsh(msh);

                //objResponse.Id =id;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(id);
        }
Пример #6
0
        public void convertToHL7(string filePath)
        {
            try
            {
                string readContents = "";
                using (StreamReader streamReader = new StreamReader(filePath))
                {
                    readContents = streamReader.ReadToEnd();
                }

                var hl7Msg = readContents.Split(new string[] { "\r\n" }, StringSplitOptions.None)
                             .Select(x => x.Split('|')).ToArray();

                Hl7Msh msh = null;
                Hl7Pid pid = null;
                foreach (var seg in hl7Msg)
                {
                    if (seg != null && seg.Length > 0)
                    {
                        switch (seg[0])
                        {
                        case "MSH":
                            msh = ConvertToMsh(seg);
                            break;

                        case "PID":
                            pid = ConvertToPid(seg);
                            break;

                        default:
                            break;
                        }
                    }
                }

                //if (msh != null) ;
                ApiManager apiManager = new ApiManager();


                if (pid != null)
                {
                    if (msh != null)
                    {
                        msh.PatientId = pid.PatientId;
                    }
                    apiManager.PostPid(pid, ConfigManager.ApiUrl + "pid/AddPid");
                }

                if (msh != null)
                {
                    apiManager.PostMsh(msh, ConfigManager.ApiUrl + "msh/AddMsh");
                }

                string fileName = Path.GetFileName(filePath);
                File.Copy(filePath, ConfigManager.FilePath + "\\Processed\\" + fileName, true);
                File.Delete(filePath);
                //if (File.Exists(ConfigManager.FilePath + "\\Processed\\" + fileName))
                //{
                //    File.Delete(ConfigManager.FilePath + "\\Processed\\" + fileName);
                //}

                //File.Move(filePath, ConfigManager.FilePath + "\\Processed\\" + fileName);
            }
            catch (Exception ex)
            {
                string fileName = Path.GetFileName(filePath);
                File.Copy(filePath, ConfigManager.FilePath + "\\Error\\" + fileName, true);
                File.Delete(filePath);
                //if (File.Exists(ConfigManager.FilePath + "\\Error\\" + fileName))
                //{
                //    File.Delete(ConfigManager.FilePath + "\\Error\\" + fileName);
                //}
                //File.Move(filePath, ConfigManager.FilePath + "\\Error\\" + fileName);
                //Add exception file as well.
            }
        }