private static Encounter LoadEncounter(DataRow row)
        {
            string    npi       = "";
            Encounter encounter = new Encounter();

            encounter.Active_Ind = row["Active_Ind"].ToString().Replace(".0000", "");

            string dischDisp = CernerCommon.StripDecimalsForMap(row["Disch_Disposition_Cd"].ToString());

            encounter.Disch_Disposition_Cd = CernerMapDAL.GetMap("CERNER_DISCHARGE_DISPOSITION", dischDisp, dischDisp);
            encounter.Cerner_Disch_Disposition_Cd_Display = CodeValueDAL.GetCodeValueDisplay(dischDisp);

            encounter.Disch_Dt_Tm          = row["Disch_Dt_Tm"].ToString();
            encounter.Encntr_type_class_cd = row["Encntr_type_class_cd"].ToString().Replace(".0000", "");

            encounter.Original_Encounter_Id = row["Encntr_Id"].ToString().Replace(".0000", "");
            string encntrId = Encounter_AliasDAL.GetEncounterVisitNumber(row["Encntr_Id"].ToString().Replace(".0000", ""));

            encounter.Encounter_Id = encntrId;

            string encounterTypeCd = CernerCommon.StripDecimalsForMap(row["Encntr_Type_Cd"].ToString());

            encounter.Cerner_Encoutner_Type_Cd         = encounterTypeCd;                                   //used for special logic in mpi conversion record 02
            encounter.Cerner_Encounter_Type_Cd_Display = CodeValueDAL.GetCodeValueDisplay(encounterTypeCd); //for data sheet

            encounter.Encounter_Type_Cd     = CernerMapDAL.GetMap("CERNER_REGTYPE", encounterTypeCd, encounterTypeCd);
            encounter.Inpatient_Admit_Dt_Tm = row["Inpatient_Admit_Dt_Tm"].ToString();

            //From Encounter Table use field E_LOC_NURSE_UNIT_CD to retrieve the  DISPLAY_KEY (col E) in CodeSet 220.
            //Use the DISPLAY_KEY to retrieve the Meditech location from the spreadsheet - "Approved locations"
            string loc = CodeValueDAL.GetCodeValueDisplay_Key(row["Loc_Nurse_Unit_Cd"].ToString().Replace(".0000", ""));

            encounter.Cerner_Loc_Nurse_Unit_Cd_Display = loc; //for data sheet
            encounter.Loc_Nurse_Unit_Cd = CernerMapDAL.GetMap("CERNER_LOCATION", loc, loc);

            //string attendPhys = EncntrPrsnlReltnDAL.GetAttendPhysician(row["Encntr_Id"].ToString());
            encounter.AttendPhysicianId = ""; //attendPhys;
            //MPIOrganization org = MPIOrganizationDAL.GetOrganization(CernerCommon.StripDecimalsForMap(encounter.Organization_Id));
            //npi = PrsnlAliasDAL.GetPrsnlAlias(attendPhys);
            encounter.AttendPhysician = "";//CernerMapDAL.GetMapDR(npi, facility, "Z.CONVPROV");

            encounter.Person_Id         = row["Person_Id"].ToString().Replace(".0000", "");
            encounter.Reason_For_Visit  = row["Reason_For_Visit"].ToString();
            encounter.Reg_Dt_Tm         = row["Reg_Dt_Tm"].ToString();
            encounter.ConfidentialVisit = row["confid_level_cd"].ToString();
            encounter.VIP_Cd            = row["vip_cd"].ToString().Replace(".0000", "");
            encounter.Organization_Id   = row["organization_id"].ToString().Replace(".0000", "");
            encounter.Med_Serv_Cd       = row["med_service_cd"].ToString().Replace(".0000", "");
            //DateTime? d = GMTtoTZ(encounter.Disch_Dt_Tm, "Mountain Standard Time");


            //for BAR
            encounter.BAR_Encounter_Type_Cd = CernerMapDAL.GetMap("CERNER_REGTYPE", encounterTypeCd, encounterTypeCd);
            encounter.Admit_Src_Cd          = row["admit_src_cd"].ToString().Replace(".0000", "");
            encounter.Admit_Type_Cd         = row["admit_type_cd"].ToString().Replace(".0000", "");

            return(encounter);
        }
        public static string GetMotherAcctNumber(string encntrID, string orgID)
        {
            string   result  = "";
            DateTime todayDt = DateTime.Today;

            StringBuilder sb = new StringBuilder();

            sb.Append("SELECT  MOTHER_ENCNTR_ID ");
            sb.Append("FROM BAR_ENCNTR_MOTHER_CHILD_RELTN ");
            sb.Append("WHERE CHILD_ENCNTR_ID = " + long.Parse(encntrID) + " ");
            sb.Append("AND active_ind = '1' ");
            sb.Append("AND END_EFFECTIVE_DT_TM > '" + todayDt + "'");

            DataTable dt = new DataTable();

            using (var conn = new SqlConnection(GlobalSettings.SqlConnectionString()))
                using (var cmd = new SqlCommand(sb.ToString(), conn))
                    using (var da = new SqlDataAdapter(cmd))
                    {
                        cmd.CommandType = CommandType.Text;
                        da.Fill(dt);
                    }

            foreach (DataRow row in dt.Rows)
            {
                result = row["MOTHER_ENCNTR_ID"].ToString().Trim();
            }
            if (result != "")
            {
                result = Encounter_AliasDAL.GetEncounterVisitNumber(result);
                if (result != "")
                {
                    result = orgID + result.PadLeft(10, '0');
                }
            }
            dt.Dispose();
            return(result);
        }
        public static string GetMotherAcctNumber(string encntrID, string orgID)
        {
            string result = "";
            string today  = DateTime.Today.ToString("yyyy-MM-dd");

            StringBuilder sb = new StringBuilder();

            sb.Append("SELECT  MOTHER_ENCNTR_ID ");
            sb.Append("FROM ENCNTR_MOTHER_CHILD_RELTN ");
            sb.Append("WHERE CHILD_ENCNTR_ID = '" + encntrID.Replace(".0000", "") + "' ");
            sb.Append("AND active_ind = '1' ");
            sb.Append("AND end_effective_dt_tm > '" + today + "' ");

            DataTable dt = new DataTable();

            using (var conn = new SqlConnection(GlobalSettings.SqlConnectionString()))
                using (var cmd = new SqlCommand(sb.ToString(), conn))
                    using (var da = new SqlDataAdapter(cmd))
                    {
                        cmd.CommandType = CommandType.Text;
                        da.Fill(dt);
                    }

            foreach (DataRow row in dt.Rows)
            {
                result = row["MOTHER_ENCNTR_ID"].ToString().Trim();
            }
            if (result != "")
            {
                result = Encounter_AliasDAL.GetEncounterVisitNumber(result);
                if (result != "")
                {
                    result = orgID + result.PadLeft(10, '0');
                }
            }
            return(result);
        }