Example #1
0
    /* Purpose : Apply transaction for appointment save from Out schedule calendar page
     * Save patient , Add Appointment in one transaction.
     * Add Appintment - Save Procedure codes and save visit.
     */

    public calResult CopyOutSchedulePatient(string extddlReferringFacility, string txtCompanyID, string txtUserId, string txtPatientID, string extddlDoctor, string eventID, string roomID)
    {
        int       iEventID        = 0;
        calResult objReturnResult = new calResult();

        conn = new SqlConnection(strsqlCon);
        conn.Open();
        comm = new SqlCommand();
        comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
        SqlTransaction transaction;

        transaction = conn.BeginTransaction();
        try
        {
            comm.CommandText = "sp_add_out_schedule_patient";
            comm.CommandType = CommandType.StoredProcedure;
            comm.Connection  = conn;
            comm.Transaction = transaction;

            comm.Parameters.AddWithValue("@sz_connection_from", extddlReferringFacility);
            comm.Parameters.AddWithValue("@sz_connection_to", txtCompanyID);
            comm.Parameters.AddWithValue("@sz_user_id", txtUserId);
            comm.Parameters.AddWithValue("@sz_doctor_id", extddlDoctor);
            comm.Parameters.AddWithValue("@sz_patient_id", txtPatientID);
            comm.Parameters.AddWithValue("@event_id", eventID);
            comm.Parameters.AddWithValue("@room_id", roomID);

            comm.ExecuteNonQuery();

            transaction.Commit();

            #region "Create Result object"
            objReturnResult.event_id = iEventID.ToString();
            objReturnResult.msg      = "Patient added successfully !";
            objReturnResult.msg_code = "SUCCESS";
            #endregion
        }
        catch (Exception ex)
        {
            objReturnResult          = new calResult();
            objReturnResult.msg      = "Error";
            objReturnResult.msg_code = "ERROR";
            objReturnResult.event_id = "-1";
            transaction.Rollback();
            Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
        }

        return(objReturnResult);
    }
Example #2
0
    public calResult fnc_SaveAppointment(calOperation p_objcalOperation, calPatientEO p_objPatientEO, ArrayList p_objALDoctorAmount, calEvent p_objcalEvent, ArrayList p_objALProcedureCodeEO, string UserId)
    {
        int       iEventID        = 0;
        calResult objReturnResult = new calResult();

        conn = new SqlConnection(strsqlCon);
        conn.Open();
        comm = new SqlCommand();
        comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
        SqlTransaction transaction;

        transaction = conn.BeginTransaction();

        try
        {
            if (p_objcalOperation.add_patient == true)
            {
                #region "Save Patient Information"
                comm.CommandText = "SP_MST_PATIENT_DATA_ENTRY";
                comm.CommandType = CommandType.StoredProcedure;
                comm.Connection  = conn;
                comm.Transaction = transaction;

                comm.Parameters.AddWithValue("@SZ_PATIENT_FIRST_NAME", p_objPatientEO.SZ_PATIENT_FIRST_NAME);
                comm.Parameters.AddWithValue("@SZ_PATIENT_LAST_NAME", p_objPatientEO.SZ_PATIENT_LAST_NAME);
                comm.Parameters.AddWithValue("@SZ_COMPANY_ID", p_objPatientEO.SZ_COMPANY_ID);
                comm.Parameters.AddWithValue("@SZ_CASE_TYPE_ID", p_objPatientEO.SZ_CASE_TYPE_ID);

                if (p_objPatientEO.I_PATIENT_AGE != "")
                {
                    comm.Parameters.AddWithValue("@I_PATIENT_AGE", p_objPatientEO.I_PATIENT_AGE);
                }
                if (p_objPatientEO.SZ_PATIENT_ADDRESS != "")
                {
                    comm.Parameters.AddWithValue("@SZ_PATIENT_ADDRESS", p_objPatientEO.SZ_PATIENT_ADDRESS);
                }
                if (p_objPatientEO.SZ_PATIENT_CITY != "")
                {
                    comm.Parameters.AddWithValue("@SZ_PATIENT_CITY", p_objPatientEO.SZ_PATIENT_CITY);
                }
                if (p_objPatientEO.SZ_PATIENT_PHONE != "")
                {
                    comm.Parameters.AddWithValue("@SZ_PATIENT_PHONE", p_objPatientEO.SZ_PATIENT_PHONE);
                }
                if (p_objPatientEO.SZ_PATIENT_STATE_ID != "" && p_objPatientEO.SZ_PATIENT_STATE_ID != "NA")
                {
                    comm.Parameters.AddWithValue("@SZ_PATIENT_STATE_ID", p_objPatientEO.SZ_PATIENT_STATE_ID);
                }
                if (p_objPatientEO.MI != "")
                {
                    comm.Parameters.AddWithValue("@MI", p_objPatientEO.MI);
                }
                if (p_objPatientEO.SZ_CASE_STATUS_ID != "")
                {
                    comm.Parameters.AddWithValue("@SZ_CASE_STATUS_ID", p_objPatientEO.SZ_CASE_STATUS_ID);
                }
                if (p_objPatientEO.SZ_INSURANCE_ID != "")
                {
                    comm.Parameters.AddWithValue("@SZ_INSURANCE_ID", p_objPatientEO.SZ_INSURANCE_ID);
                }
                if (!UserId.ToString().Equals(""))
                {
                    comm.Parameters.AddWithValue("@sz_user_id", UserId.ToString());
                }
                comm.Parameters.AddWithValue("@FLAG", "ADD");
                comm.ExecuteNonQuery();
                #endregion

                #region "Get Latest Patient ID"
                comm = new SqlCommand();
                comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                comm.CommandText    = "SP_MST_PATIENT";
                comm.CommandType    = CommandType.StoredProcedure;
                comm.Connection     = conn;
                comm.Transaction    = transaction;
                comm.Parameters.AddWithValue("@FLAG", "GET_LATEST_PATIENT_ID");
                objDS   = new DataSet();
                objDAdp = new SqlDataAdapter(comm);
                objDAdp.Fill(objDS);
                if (objDS != null)
                {
                    if (objDS.Tables[0] != null)
                    {
                        p_objcalEvent.SZ_PATIENT_ID = objDS.Tables[0].Rows[0][0].ToString();
                    }
                }
                #endregion
            }

            #region "Add Doctor Amount"

            if (p_objALDoctorAmount != null)
            {
                for (int i = 0; i < p_objALDoctorAmount.Count; i++)
                {
                    if (((calDoctorAmount)p_objALDoctorAmount[i]).SZ_PROCEDURE_ID != "--- Select ---")
                    {
                        comm = new SqlCommand();
                        comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                        comm.CommandText    = "SP_TXN_DOCTOR_PROCEDURE_AMOUNT";
                        comm.CommandType    = CommandType.StoredProcedure;
                        comm.Connection     = conn;
                        comm.Transaction    = transaction;
                        comm.Parameters.AddWithValue("@SZ_DOCTOR_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_DOCTOR_ID);
                        comm.Parameters.AddWithValue("@SZ_PROCEDURE_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_PROCEDURE_ID);
                        comm.Parameters.AddWithValue("@SZ_COMPANY_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_COMPANY_ID);
                        comm.Parameters.AddWithValue("@SZ_TYPE_CODE_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_TYPE_CODE_ID);
                        comm.Parameters.AddWithValue("@FLAG", "ADDREGERRING");
                        comm.ExecuteNonQuery();
                    }
                }
            }

            #endregion

            #region "Add Event"

            comm = new SqlCommand();
            comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
            comm.CommandText    = "SP_TXN_CALENDAR_EVENT";
            comm.CommandType    = CommandType.StoredProcedure;
            comm.Connection     = conn;
            comm.Transaction    = transaction;
            comm.Parameters.AddWithValue("@SZ_CASE_ID ", p_objcalEvent.SZ_PATIENT_ID);
            comm.Parameters.AddWithValue("@DT_EVENT_DATE", p_objcalEvent.DT_EVENT_DATE);
            comm.Parameters.AddWithValue("@DT_EVENT_TIME", p_objcalEvent.DT_EVENT_TIME);
            comm.Parameters.AddWithValue("@SZ_EVENT_NOTES", p_objcalEvent.SZ_EVENT_NOTES);
            comm.Parameters.AddWithValue("@SZ_DOCTOR_ID", p_objcalEvent.SZ_DOCTOR_ID);
            comm.Parameters.AddWithValue("@SZ_TYPE_CODE_ID", p_objcalEvent.SZ_TYPE_CODE_ID);
            comm.Parameters.AddWithValue("@SZ_COMPANY_ID", p_objcalEvent.SZ_COMPANY_ID);
            comm.Parameters.AddWithValue("@DT_EVENT_TIME_TYPE", p_objcalEvent.DT_EVENT_TIME_TYPE);
            comm.Parameters.AddWithValue("@DT_EVENT_END_TIME", p_objcalEvent.DT_EVENT_END_TIME);
            comm.Parameters.AddWithValue("@DT_EVENT_END_TIME_TYPE", p_objcalEvent.DT_EVENT_END_TIME_TYPE);
            comm.Parameters.AddWithValue("@SZ_REFERENCE_ID", p_objcalEvent.SZ_REFERENCE_ID);
            comm.Parameters.AddWithValue("@BT_STATUS", p_objcalEvent.BT_STATUS);
            comm.Parameters.AddWithValue("@BT_TRANSPORTATION", p_objcalEvent.BT_TRANSPORTATION);

            if (p_objcalEvent.I_TRANSPORTATION_COMPANY != null)
            {
                comm.Parameters.AddWithValue("@I_TRANSPORTATION_COMPANY", p_objcalEvent.I_TRANSPORTATION_COMPANY);
            }
            if (p_objcalEvent.SZ_OFFICE_ID != null)
            {
                comm.Parameters.AddWithValue("@SZ_OFFICE_ID", p_objcalEvent.SZ_OFFICE_ID);
            }

            SqlParameter parmReturnValue = new SqlParameter("@RETURN", SqlDbType.Int);
            parmReturnValue.Direction = ParameterDirection.ReturnValue;
            comm.Parameters.Add(parmReturnValue);
            comm.Parameters.AddWithValue("@FLAG", "ADD2");
            comm.Parameters.AddWithValue("@SZ_USER_ID", UserId.ToString());
            comm.ExecuteNonQuery();

            iEventID = (int)comm.Parameters["@RETURN"].Value;
            #endregion

            #region "Add Procedure Codes"
            if (p_objALProcedureCodeEO != null)
            {
                for (int i1 = 0; i1 < p_objALProcedureCodeEO.Count; i1++)
                {
                    if (((calProcedureCodeEO)p_objALProcedureCodeEO[i1]).SZ_PROC_CODE != "--- Select ---")
                    {
                        comm = new SqlCommand();
                        comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                        comm.CommandText    = "SP_SAVE_REFERRAL_PROC_CODE";
                        comm.CommandType    = CommandType.StoredProcedure;
                        comm.Connection     = conn;
                        comm.Transaction    = transaction;
                        comm.Parameters.AddWithValue("@SZ_PROC_CODE ", ((calProcedureCodeEO)p_objALProcedureCodeEO[i1]).SZ_PROC_CODE);
                        comm.Parameters.AddWithValue("@I_EVENT_ID", iEventID);
                        comm.Parameters.AddWithValue("@I_STATUS", ((calProcedureCodeEO)p_objALProcedureCodeEO[i1]).I_STATUS);
                        comm.ExecuteNonQuery();
                    }
                }
            }
            #endregion
            transaction.Commit();

            #region "Create Result object"
            objReturnResult.event_id = iEventID.ToString();
            objReturnResult.msg      = "Patient added successfully !";
            objReturnResult.msg_code = "SUCCESS";
            #endregion
        }
        catch (Exception ex)
        {
            objReturnResult          = new calResult();
            objReturnResult.msg      = "Error";
            objReturnResult.msg_code = "ERROR";
            objReturnResult.event_id = "-1";
            transaction.Rollback(); Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
        }
        return(objReturnResult);
    }
Example #3
0
        public calResult AddVisit(calOperation p_objcalOperation, OutSchedulePatientDAO p_objOutPatientDAO, ArrayList p_objALDoctorAmount, calEvent p_objcalEvent, ArrayList p_objALProcedureCodeEO, string UserId, string roomID, string extddlReferringFacility, string txtCompanyID, string extddlDoctor)
        {
            bool      PatientExist    = false;
            string    newCaseID       = "";
            string    OldPatientID    = "";
            int       iEventID        = 0;
            calResult objReturnResult = new calResult();

            conn = new SqlConnection(strsqlCon);
            conn.Open();
            comm = new SqlCommand();
            comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
            SqlTransaction transaction;

            transaction  = conn.BeginTransaction();
            OldPatientID = p_objcalEvent.SZ_PATIENT_ID.ToString();
            try
            {
                #region "Get Patient Id If It is already exist in test company"
                comm = new SqlCommand();
                comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                comm.CommandText    = "SP_GET_PATIENTID_EXIST_IN_OTHER_COMPANY";
                comm.CommandType    = CommandType.StoredProcedure;
                comm.Connection     = conn;
                comm.Transaction    = transaction;
                comm.Parameters.AddWithValue("@SZ_SOURCE_COMPANY", txtCompanyID);
                comm.Parameters.AddWithValue("@SZ_DEST_COMPANY", extddlReferringFacility);
                comm.Parameters.AddWithValue("@SZ_PATIENT_ID", p_objcalEvent.SZ_PATIENT_ID);
                objDS   = new DataSet();
                objDAdp = new SqlDataAdapter(comm);
                objDAdp.Fill(objDS);
                if (objDS != null)
                {
                    if (objDS.Tables.Count > 0)
                    {
                        if (objDS.Tables[0] != null)
                        {
                            p_objcalEvent.SZ_PATIENT_ID = objDS.Tables[0].Rows[0][0].ToString();
                            PatientExist = true;
                            if (p_objcalEvent.SZ_PATIENT_ID.ToString().ToLower() != "null")
                            {
                                PatientExist = true;
                            }
                        }
                    }
                }
                #endregion

                if (p_objcalOperation.add_patient == true)
                {
                    #region "Save Patient Information"
                    comm = new SqlCommand();
                    comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                    comm.CommandText    = "SP_OUT_SCHEDULE_MST_PATIENT_DATA_ENTRY";
                    comm.CommandType    = CommandType.StoredProcedure;
                    comm.Connection     = conn;
                    comm.Transaction    = transaction;

                    comm.Parameters.AddWithValue("@SZ_PATIENT_FIRST_NAME", p_objOutPatientDAO.sPatientFirstName);
                    comm.Parameters.AddWithValue("@SZ_PATIENT_LAST_NAME", p_objOutPatientDAO.sPatientLastName);
                    comm.Parameters.AddWithValue("@SZ_COMPANY_ID", p_objOutPatientDAO.sSourceCompanyID);
                    comm.Parameters.AddWithValue("@SZ_CASE_TYPE_ID", p_objOutPatientDAO.sCaseTypeID);
                    comm.Parameters.AddWithValue("@SZ_TEST_COMPANY_ID", p_objOutPatientDAO.sDestinationCompanyID);
                    if (p_objOutPatientDAO.sPatientAge != "")
                    {
                        comm.Parameters.AddWithValue("@I_PATIENT_AGE", p_objOutPatientDAO.sPatientAge);
                    }
                    if (p_objOutPatientDAO.sPatientAddress != "")
                    {
                        comm.Parameters.AddWithValue("@SZ_PATIENT_ADDRESS", p_objOutPatientDAO.sPatientAddress);
                    }
                    if (p_objOutPatientDAO.sPatientCity != "")
                    {
                        comm.Parameters.AddWithValue("@SZ_PATIENT_CITY", p_objOutPatientDAO.sPatientCity);
                    }
                    if (p_objOutPatientDAO.sPatientPhone != "")
                    {
                        comm.Parameters.AddWithValue("@SZ_PATIENT_PHONE", p_objOutPatientDAO.sPatientPhone);
                    }
                    if (p_objOutPatientDAO.sPatientState != "" && p_objOutPatientDAO.sPatientState != "NA")
                    {
                        comm.Parameters.AddWithValue("@SZ_PATIENT_STATE_ID", p_objOutPatientDAO.sPatientState);
                    }
                    if (p_objOutPatientDAO.sPatientMI != "")
                    {
                        comm.Parameters.AddWithValue("@MI", p_objOutPatientDAO.sPatientMI);
                    }
                    if (p_objOutPatientDAO.sCaseStatusID != "")
                    {
                        comm.Parameters.AddWithValue("@SZ_CASE_STATUS_ID", p_objOutPatientDAO.sCaseStatusID);
                    }
                    if (p_objOutPatientDAO.sInsuranceID != "")
                    {
                        comm.Parameters.AddWithValue("@SZ_INSURANCE_ID", p_objOutPatientDAO.sInsuranceID);
                    }
                    if (!UserId.ToString().Equals(""))
                    {
                        comm.Parameters.AddWithValue("@sz_user_id", UserId.ToString());
                    }
                    //comm.Parameters.AddWithValue("@FLAG", "ADD");
                    comm.ExecuteNonQuery();
                    #endregion
                }
                #region "Copy Patient"
                if (p_objcalOperation.add_patient != true)
                {
                    comm = new SqlCommand();
                    comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                    comm.CommandText    = "sp_add_out_schedule_patient";
                    comm.CommandType    = CommandType.StoredProcedure;
                    comm.Connection     = conn;
                    comm.Transaction    = transaction;

                    comm.Parameters.AddWithValue("@sz_connection_from", extddlReferringFacility);
                    comm.Parameters.AddWithValue("@sz_connection_to", txtCompanyID);
                    comm.Parameters.AddWithValue("@sz_user_id", UserId);
                    comm.Parameters.AddWithValue("@sz_doctor_id", extddlDoctor);
                    comm.Parameters.AddWithValue("@sz_patient_id", p_objcalEvent.SZ_PATIENT_ID);
                    comm.Parameters.AddWithValue("@event_id", iEventID.ToString());
                    comm.Parameters.AddWithValue("@room_id", roomID);

                    comm.ExecuteNonQuery();
                }
                #endregion
                //#region "Get Patient Id If It is already exist in test company"
                //comm = new SqlCommand();
                //comm.CommandText = "SP_GET_PATIENTID_EXIST_IN_OTHER_COMPANY";
                //comm.CommandType = CommandType.StoredProcedure;
                //comm.Connection = conn;
                //comm.Transaction = transaction;
                //comm.Parameters.AddWithValue("@SZ_SOURCE_COMMPANY", txtCompanyID);
                //comm.Parameters.AddWithValue("@SZ_DEST_COMPANY", extddlReferringFacility);
                //comm.Parameters.AddWithValue("@SZ_PATIENT_ID", p_objcalEvent.SZ_PATIENT_ID);
                //objDS = new DataSet();
                //objDAdp = new SqlDataAdapter(comm);
                //objDAdp.Fill(objDS);
                //if (objDS != null)
                //{
                //    if (objDS.Tables[0] != null)
                //    {
                //        p_objcalEvent.SZ_PATIENT_ID = objDS.Tables[0].Rows[0][0].ToString();
                //        PatientExist = true;
                //        if (p_objcalEvent.SZ_PATIENT_ID.ToString().ToLower() != "null")
                //        {
                //            PatientExist = true;
                //        }
                //    }
                //}
                //#endregion
                if (!PatientExist)
                {
                    #region "Get Latest Patient ID"
                    comm = new SqlCommand();
                    comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                    comm.CommandText    = "SP_MST_PATIENT";
                    comm.CommandType    = CommandType.StoredProcedure;
                    comm.Connection     = conn;
                    comm.Transaction    = transaction;
                    comm.Parameters.AddWithValue("@FLAG", "GET_LATEST_PATIENT_ID");
                    objDS   = new DataSet();
                    objDAdp = new SqlDataAdapter(comm);
                    objDAdp.Fill(objDS);
                    if (objDS != null)
                    {
                        if (objDS.Tables[0] != null)
                        {
                            p_objcalEvent.SZ_PATIENT_ID = objDS.Tables[0].Rows[0][0].ToString();
                        }
                    }
                    #endregion
                }

                #region "Add Doctor Amount"

                if (p_objALDoctorAmount != null)
                {
                    for (int i = 0; i < p_objALDoctorAmount.Count; i++)
                    {
                        if (((calDoctorAmount)p_objALDoctorAmount[i]).SZ_PROCEDURE_ID != "--- Select ---")
                        {
                            comm = new SqlCommand();
                            comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                            comm.CommandText    = "SP_TXN_DOCTOR_PROCEDURE_AMOUNT";
                            comm.CommandType    = CommandType.StoredProcedure;
                            comm.Connection     = conn;
                            comm.Transaction    = transaction;
                            comm.Parameters.AddWithValue("@SZ_DOCTOR_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_DOCTOR_ID);
                            comm.Parameters.AddWithValue("@SZ_PROCEDURE_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_PROCEDURE_ID);
                            comm.Parameters.AddWithValue("@SZ_COMPANY_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_COMPANY_ID);
                            comm.Parameters.AddWithValue("@SZ_TYPE_CODE_ID", ((calDoctorAmount)p_objALDoctorAmount[i]).SZ_TYPE_CODE_ID);
                            comm.Parameters.AddWithValue("@FLAG", "ADDREGERRING");
                            comm.ExecuteNonQuery();
                        }
                    }
                }

                #endregion

                #region "Add Event"

                comm = new SqlCommand();
                comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                comm.CommandText    = "SP_TXN_CALENDAR_EVENT";
                comm.CommandType    = CommandType.StoredProcedure;
                comm.Connection     = conn;
                comm.Transaction    = transaction;
                comm.Parameters.AddWithValue("@SZ_CASE_ID ", p_objcalEvent.SZ_PATIENT_ID);
                comm.Parameters.AddWithValue("@DT_EVENT_DATE", p_objcalEvent.DT_EVENT_DATE);
                comm.Parameters.AddWithValue("@DT_EVENT_TIME", p_objcalEvent.DT_EVENT_TIME);
                comm.Parameters.AddWithValue("@SZ_EVENT_NOTES", p_objcalEvent.SZ_EVENT_NOTES);
                comm.Parameters.AddWithValue("@SZ_DOCTOR_ID", p_objcalEvent.SZ_DOCTOR_ID);
                comm.Parameters.AddWithValue("@SZ_TYPE_CODE_ID", p_objcalEvent.SZ_TYPE_CODE_ID);
                comm.Parameters.AddWithValue("@SZ_COMPANY_ID", p_objcalEvent.SZ_REFERENCE_ID);
                comm.Parameters.AddWithValue("@DT_EVENT_TIME_TYPE", p_objcalEvent.DT_EVENT_TIME_TYPE);
                comm.Parameters.AddWithValue("@DT_EVENT_END_TIME", p_objcalEvent.DT_EVENT_END_TIME);
                comm.Parameters.AddWithValue("@DT_EVENT_END_TIME_TYPE", p_objcalEvent.DT_EVENT_END_TIME_TYPE);
                comm.Parameters.AddWithValue("@SZ_REFERENCE_ID", p_objcalEvent.SZ_REFERENCE_ID);
                comm.Parameters.AddWithValue("@BT_STATUS", p_objcalEvent.BT_STATUS);
                comm.Parameters.AddWithValue("@BT_TRANSPORTATION", p_objcalEvent.BT_TRANSPORTATION);

                if (p_objcalEvent.I_TRANSPORTATION_COMPANY != null)
                {
                    comm.Parameters.AddWithValue("@I_TRANSPORTATION_COMPANY", p_objcalEvent.I_TRANSPORTATION_COMPANY);
                }
                if (p_objcalEvent.SZ_OFFICE_ID != null)
                {
                    comm.Parameters.AddWithValue("@SZ_OFFICE_ID", p_objcalEvent.SZ_OFFICE_ID);
                }

                SqlParameter parmReturnValue = new SqlParameter("@RETURN", SqlDbType.Int);
                parmReturnValue.Direction = ParameterDirection.ReturnValue;
                comm.Parameters.Add(parmReturnValue);
                comm.Parameters.AddWithValue("@FLAG", "ADD2");
                comm.Parameters.AddWithValue("@SZ_USER_ID", UserId.ToString());
                comm.ExecuteNonQuery();

                iEventID = (int)comm.Parameters["@RETURN"].Value;

                #endregion

                #region "update txn_calendar_event for load out schedule calendar"
                if (p_objcalOperation.add_patient != true)
                {
                    comm = new SqlCommand();
                    comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                    comm.CommandText    = "sp_out_schedule_calendar_event";
                    comm.CommandType    = CommandType.StoredProcedure;
                    comm.Connection     = conn;
                    comm.Transaction    = transaction;
                    comm.Parameters.AddWithValue("@sz_patient_Id ", OldPatientID);
                    comm.Parameters.AddWithValue("@sz_company_id ", txtCompanyID);
                    comm.Parameters.AddWithValue("@event_id", iEventID);
                    comm.ExecuteNonQuery();
                }
                #endregion


                #region "Add Procedure Codes"
                if (p_objALProcedureCodeEO != null)
                {
                    for (int i1 = 0; i1 < p_objALProcedureCodeEO.Count; i1++)
                    {
                        if (((calProcedureCodeEO)p_objALProcedureCodeEO[i1]).SZ_PROC_CODE != "--- Select ---")
                        {
                            comm = new SqlCommand();
                            comm.CommandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeOut"].ToString());
                            comm.CommandText    = "SP_SAVE_REFERRAL_PROC_CODE";
                            comm.CommandType    = CommandType.StoredProcedure;
                            comm.Connection     = conn;
                            comm.Transaction    = transaction;
                            comm.Parameters.AddWithValue("@SZ_PROC_CODE ", ((calProcedureCodeEO)p_objALProcedureCodeEO[i1]).SZ_PROC_CODE);
                            comm.Parameters.AddWithValue("@I_EVENT_ID", iEventID);
                            comm.Parameters.AddWithValue("@I_STATUS", ((calProcedureCodeEO)p_objALProcedureCodeEO[i1]).I_STATUS);
                            comm.ExecuteNonQuery();
                        }
                    }
                }
                #endregion
                #region "Copy Patient"
                //if (p_objcalOperation.add_patient != true)
                //{
                //    comm = new SqlCommand();
                //    comm.CommandText = "sp_add_out_schedule_patient";
                //    comm.CommandType = CommandType.StoredProcedure;
                //    comm.Connection = conn;
                //    comm.Transaction = transaction;

                //    comm.Parameters.AddWithValue("@sz_connection_from", extddlReferringFacility);
                //    comm.Parameters.AddWithValue("@sz_connection_to", txtCompanyID);
                //    comm.Parameters.AddWithValue("@sz_user_id", UserId);
                //    comm.Parameters.AddWithValue("@sz_doctor_id", extddlDoctor);
                //    comm.Parameters.AddWithValue("@sz_patient_id", p_objcalEvent.SZ_PATIENT_ID);
                //    comm.Parameters.AddWithValue("@event_id", iEventID.ToString());
                //    comm.Parameters.AddWithValue("@room_id", roomID);

                //    comm.ExecuteNonQuery();
                //}
                #endregion
                transaction.Commit();

                #region "Create Result object"
                objReturnResult.event_id      = iEventID.ToString();
                objReturnResult.msg           = "Patient added successfully !";
                objReturnResult.msg_code      = "SUCCESS";
                objReturnResult.sz_patient_id = p_objcalEvent.SZ_PATIENT_ID;
                #endregion
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                objReturnResult          = new calResult();
                objReturnResult.msg      = "Error";
                objReturnResult.msg_code = "ERROR";
                objReturnResult.event_id = "-1";
                transaction.Rollback();
            }
            return(objReturnResult);
        }