Beruflich Dokumente
Kultur Dokumente
{
string modifier = string.Empty;
if (dt_charges.Rows.Count > 0)
{
for (int i = 0; i < dt_charges.Rows.Count; i++)
{
//Rule #1
if ((source_file_dir_name == "COOPER_HOSPBILL" || source_file_dir_name == "COOPER_HSBILL") && if
(dt_charges.Rows[i]["ins1_pyr_cd"].ToString() == "MCR"))
// HOSPITAL BILLING + HEART STATION BILLING and MCR
{
modifier += "," + "AO";
UpdateChargeModifier(modifier, 0, dt_charges.Rows[i]["post_trans_charges_id"].ToString());
}
//Rule #3
if (dt_charges.Rows[i]["ins1_pyr_cd"].ToString() == "MCR")
{
if (dt_charges.Rows[i]["svc_cd"].ToString() == "33206"
|| dt_charges.Rows[i]["svc_cd"].ToString() == "33207"
|| dt_charges.Rows[i]["svc_cd"].ToString() == "33208")
{
modifier += "," + "KX";
UpdateChargeModifier(modifier, 0, dt_charges.Rows[i]["post_trans_charges_id"].ToString());
}
}
//Rule #4
if (dt_charges.Rows[i]["svc_catg_name"].ToString() == "E & M")
{
/*** Change the query to take prim insurance as an argument and if it comes with positive result, we apply the logic *///
DataTable dt_alt = DBQueries.GetInsCode4AltCPT(dt_charges.Rows[i]["ins1_pyr_cd"].ToString());
if (dt_alt.Rows.Count > 0)
{
for (int k = 0; k < dt_alt.Rows.Count; k++)
{
if (dt_charges.Rows[i]["ins1_pyr_cd"].ToString() == dt_alt.Rows[k]["ins_code"].ToString())
{
if (dt_charges.Rows[i]["svc_cd"].ToString() == "99253")
{
curr_svc_cd = 99221;
/* MCR and TRM are already in the table and therefore, we just need to add modifier if needed */
if (dt_charges.Rows[i]["ins1_pyr_cd"].ToString().ToUpper() == "MCR" ||
dt_charges.Rows[i]["ins1_pyr_cd"].ToString().ToUpper() == "TRM")
if (dt_charges.Rows[i]["ins1_pyr_cd"].ToString().ToUpper() == "MCR" ||
dt_charges.Rows[i]["ins1_pyr_cd"].ToString().ToUpper() == "TRM")
{
if (dt_charges.Rows[i]["svc_cd"].ToString() == "99253")
{
modifier += "," + "AI";
UpdateChargeModifier(modifier, 0, dt_charges.Rows[i]["post_trans_charges_id"].ToString(), "99221");
}
if (dt_charges.Rows[i]["svc_cd"].ToString() == "99254")
{
modifier += "," + "AI";
UpdateChargeModifier(modifier, 0, dt_charges.Rows[i]["post_trans_charges_id"].ToString(), "99222");
}
if (dt_charges.Rows[i]["svc_cd"].ToString() == "99255")
{
modifier += "," + "AI";
UpdateChargeModifier(modifier, 0, dt_charges.Rows[i]["post_trans_charges_id"].ToString(), "99223");
}
}
}
//Rule #5
Check other charges for the same appt_trans_id other than yourself and check if non-E&M charge exists.
This will be query.
If (true)
modifier += "," + "25";
if (DBQueries.ValidateEnM_NENMCharges(dt_charges.Rows[i]["appt_trans_id"].ToString()).Rows.Count > 0)
{
modifier += "," + "25";
UpdateChargeModifier(modifier, 0, dt_charges.Rows[i]["post_trans_charges_id"].ToString());
}
}
}
}
}