public bool HasEPC(Hashtable epcRemainingCache = null) { bool hasEpcRemainingRows = (epcRemainingCache == null) ? HealthCardEPCRemainingDB.GetCountByHealthCardID(this.HealthCardID) > 0 : epcRemainingCache[this.HealthCardID] != null && ((HealthCardEPCRemaining[])epcRemainingCache[this.HealthCardID]).Length > 0; return(this.DateReferralReceivedInOffice != DateTime.MinValue || this.DateReferralSigned != DateTime.MinValue || hasEpcRemainingRows); }
public static HealthCardEPCRemainingChangeHistory[] GetByHealthCardID(int health_card_id) { string sql = @" SELECT health_card_epc_remaining_change_history_id,HealthCardEPCRemainingChangeHistory.health_card_epc_remaining_id,HealthCardEPCRemainingChangeHistory.staff_id,date, pre_num_services_remaining,post_num_services_remaining, health_card_id,HealthCardEPCRemaining.field_id,num_services_remaining,deleted_by,date_deleted, Field.descr, staff.staff_id as staff_staff_id, staff.person_id as staff_person_id, staff.login as staff_login, staff.pwd as staff_pwd, staff.staff_position_id as staff_staff_position_id, staff.field_id as staff_field_id, staff.costcentre_id as staff_costcentre_id, staff.is_contractor as staff_is_contractor, staff.tfn as staff_tfn, staff.provider_number as staff_provider_number, staff.is_fired as staff_is_fired, staff.is_commission as staff_is_commission, staff.commission_percent as staff_commission_percent, staff.is_stakeholder as staff_is_stakeholder,staff.is_master_admin as staff_is_master_admin,staff.is_admin as staff_is_admin,staff.is_principal as staff_is_principal,staff.is_provider as staff_is_provider, staff.is_external as staff_is_external, staff.staff_date_added as staff_staff_date_added, staff.start_date as staff_start_date, staff.end_date as staff_end_date, staff.comment as staff_comment, staff.num_days_to_display_on_booking_screen as staff_num_days_to_display_on_booking_screen, staff.show_header_on_booking_screen as staff_show_header_on_booking_screen, staff.bk_screen_field_id as staff_bk_screen_field_id, staff.bk_screen_show_key as staff_bk_screen_show_key, staff.enable_daily_reminder_sms as staff_enable_daily_reminder_sms, staff.enable_daily_reminder_email as staff_enable_daily_reminder_email, staff.hide_booking_notes as staff_hide_booking_notes, " + PersonDB.GetFields("person_", "person") + @", title.title_id as title_title_id, title.descr as title_descr FROM HealthCardEPCRemainingChangeHistory LEFT OUTER JOIN HealthCardEPCRemaining ON HealthCardEPCRemainingChangeHistory.health_card_epc_remaining_id = HealthCardEPCRemaining.health_card_epc_remaining_id LEFT OUTER JOIN Field ON HealthCardEPCRemaining.field_id = Field.field_id LEFT OUTER JOIN Staff staff ON staff.staff_id = HealthCardEPCRemainingChangeHistory.staff_id LEFT OUTER JOIN Person person ON person.person_id = staff.person_id LEFT OUTER JOIN Title title ON title.title_id = person.title_id WHERE HealthCardEPCRemaining.health_card_id = " + health_card_id; DataTable tbl = DBBase.ExecuteQuery(sql).Tables[0]; HealthCardEPCRemainingChangeHistory[] histories = new HealthCardEPCRemainingChangeHistory[tbl.Rows.Count]; for (int i = 0; i < tbl.Rows.Count; i++) { histories[i] = Load(tbl.Rows[i]); histories[i].HealthCardEpcRemaining = HealthCardEPCRemainingDB.Load(tbl.Rows[i]); histories[i].HealthCardEpcRemaining.Field = IDandDescrDB.Load(tbl.Rows[i], "field_id", "descr"); histories[i].Staff = StaffDB.Load(tbl.Rows[i], "staff_"); histories[i].Staff.Person = PersonDB.Load(tbl.Rows[i], "person_"); histories[i].Staff.Person.Title = IDandDescrDB.Load(tbl.Rows[i], "title_title_id", "title_descr"); } return(histories); }
protected Hashtable GetEPCRemainingCache(Hashtable patientHealthCardCache) { ArrayList healthCardIDs = new ArrayList(); foreach (PatientActiveHealthCards ptHCs in patientHealthCardCache.Values) { if (ptHCs.MedicareCard != null) { healthCardIDs.Add(ptHCs.MedicareCard.HealthCardID); } if (ptHCs.DVACard != null) { healthCardIDs.Add(ptHCs.DVACard.HealthCardID); } } return(HealthCardEPCRemainingDB.GetHashtableByHealthCardIDs((int[])healthCardIDs.ToArray(typeof(int)))); }
protected HealthCardEPCRemaining[] GetEPCRemainingFromCache(Hashtable epcRemainingCache, HealthCard hc) { if (hc == null) { return new HealthCardEPCRemaining[] { } } ; HealthCardEPCRemaining[] epcsRemaining = null; if (epcRemainingCache == null) { epcsRemaining = HealthCardEPCRemainingDB.GetByHealthCardID(hc.HealthCardID, -1); } else { epcsRemaining = (HealthCardEPCRemaining[])epcRemainingCache[hc.HealthCardID]; } return(epcsRemaining == null ? new HealthCardEPCRemaining[] { } : epcsRemaining); }
public static Hashtable GetBullk(int[] patient_ids, DateTime start_date) { if (patient_ids.Length == 0) { return(new Hashtable()); } // remove duplicates ArrayList uniquePatientIDs = new ArrayList(); for (int i = 0; i < patient_ids.Length; i++) { if (!uniquePatientIDs.Contains(patient_ids[i])) { uniquePatientIDs.Add(patient_ids[i]); } } patient_ids = (int[])uniquePatientIDs.ToArray(typeof(int)); return(HealthCardEPCRemainingDB.GetTotalServicesRemainingByPatients(patient_ids, start_date)); }
protected void UpdateCard(HealthCard card, CardType cardType) // can be null if no card and will set info for no card of that org { bool isGPsite = Session != null && Convert.ToBoolean(Session["SiteIsGP"]); if (card != null && card.Organisation.OrganisationID != -1 && card.Organisation.OrganisationID != -2 && card.Organisation.OrganisationType.OrganisationTypeGroup.ID != 7) { throw new Exception("Unknown health card type"); } Label lblInfo = lblMedicareCard; if (cardType == CardType.Medicare) { lblInfo = lblMedicareCard; } if (cardType == CardType.DVA) { lblInfo = lblDVACard; } if (cardType == CardType.Insurance) { lblInfo = lblInsuranceCard; } lblInfo.Text = card == null ? "No card" : (card.CardNbr + (card.CardFamilyMemberNbr.Length > 0 ? " - " + card.CardFamilyMemberNbr : "")); if (card != null && card.Organisation != null && card.Organisation.OrganisationType != null && card.Organisation.OrganisationType.OrganisationTypeGroup.ID == 7) { lblInfo.Text = "[" + card.Organisation.Name + "] " + lblInfo.Text; } bool cardHasEPC = card != null && card.HasEPC(); (cardType == CardType.Medicare ? lblMedicareCardInfo : (cardType == CardType.DVA ? lblDVACardInfo : lblInsuranceCardInfo)).Visible = card != null; (cardType == CardType.Medicare ? lnkMedicareCardEdit : (cardType == CardType.DVA ? lnkDVACardEdit : lnkInsuranceCardEdit)).Visible = card != null; (cardType == CardType.Medicare ? lnkMedicareCardEdit : (cardType == CardType.DVA ? lnkDVACardEdit : lnkInsuranceCardEdit)).CommandArgument = card != null?card.HealthCardID.ToString() : "-1"; (cardType == CardType.Medicare ? lblMedicareAddBtnSeperator : (cardType == CardType.DVA ? lblDVAAddBtnSeperator : lblInsuranceAddBtnSeperator)).Visible = card != null; (cardType == CardType.Medicare ? lnkMedicareCardAdd : (cardType == CardType.DVA ? lnkDVACardAdd : lnkInsuranceCardAdd)).Text = card == null ? "Add Card" : "Replace Card"; (cardType == CardType.Medicare ? lnkMedicareCardAdd : (cardType == CardType.DVA ? lnkDVACardAdd : lnkInsuranceCardAdd)).OnClientClick = card == null ? null : "javascript:if (!confirm('Setting a new card will delete the current card and any associated referral'. Continue?')) return false;"; (cardType == CardType.Medicare ? medicare_epc_info_row : (cardType == CardType.DVA ? dva_epc_info_row : insurance_epc_info_row)).Visible = !isGPsite && card != null && cardHasEPC; (cardType == CardType.Medicare ? medicare_no_epc_message_row : (cardType == CardType.DVA ? dva_no_epc_message_row : insurance_no_epc_message_row)).Visible = !isGPsite && card != null && !cardHasEPC; if (cardType == CardType.Medicare) { medicare_epc_combined_remaining_row.Visible = !isGPsite && card != null && cardHasEPC; } if (card != null) { (cardType == CardType.Medicare ? chkMedicareIsActive : (cardType == CardType.DVA ? chkDvaIsActive : chkInsuranceIsActive)).Checked = card.IsActive; (cardType == CardType.Medicare ? chkMedicareIsActive2 : (cardType == CardType.DVA ? chkDvaIsActive2 : chkInsuranceIsActive2)).Checked = card.IsActive; //if (card.IsActive) //{ // (cardType == CardType.Medicare ? chkMedicareIsActive : (cardType == CardType.DVA ? chkDvaIsActive : chkInsuranceIsActive )).Attributes["onclick"] = "return false;"; // (cardType == CardType.Medicare ? chkMedicareIsActive2 : (cardType == CardType.DVA ? chkDvaIsActive2 : chkInsuranceIsActive2)).Attributes["onclick"] = "return false;"; //} //else //{ // (cardType == CardType.Medicare ? chkMedicareIsActive : (cardType == CardType.DVA ? chkDvaIsActive : chkInsuranceIsActive )).Attributes.Remove("onclick"); // (cardType == CardType.Medicare ? chkMedicareIsActive2 : (cardType == CardType.DVA ? chkDvaIsActive2 : chkInsuranceIsActive2)).Attributes.Remove("onclick"); //} (cardType == CardType.Medicare ? chkMedicareIsActive : (cardType == CardType.DVA ? chkDvaIsActive : chkInsuranceIsActive)).Attributes["CommandArgument"] = string.Format("{0}", card.HealthCardID); (cardType == CardType.Medicare ? chkMedicareIsActive2 : (cardType == CardType.DVA ? chkDvaIsActive2 : chkInsuranceIsActive2)).Attributes["CommandArgument"] = string.Format("{0}", card.HealthCardID); // marcus said that can deactivate so that have all cards de-activated // insurance was not added to this yet /* * if (card.IsActive) * { * (cardType == CardType.Medicare ? chkMedicareIsActive : chkDvaIsActive).Attributes.Add("onclick", "return false;"); * (cardType == CardType.Medicare ? chkMedicareIsActive2 : chkDvaIsActive2).Attributes.Add("onclick", "return false;"); * } * else * { * (cardType == CardType.Medicare ? chkMedicareIsActive : chkDvaIsActive).Attributes.Remove("onclick"); * (cardType == CardType.Medicare ? chkMedicareIsActive2 : chkDvaIsActive2).Attributes.Remove("onclick"); * } */ // // set add epc link // string allFeatures = "dialogWidth:550px;dialogHeight:550px;center:yes;resizable:no; scroll:no"; string js = "show_modal_updade_epc(" + card.HealthCardID.ToString() + ");" + (!Utilities.IsMobileDevice(Request) ? "window.location=window.location;" : "") + "return false;"; (cardType == CardType.Medicare ? lnkNewMedicareEPC2 : (cardType == CardType.DVA ? lnkNewDVAEPC2 : lnkNewInsuranceEPC2)).Visible = true; (cardType == CardType.Medicare ? lnkNewMedicareEPC2 : (cardType == CardType.DVA ? lnkNewDVAEPC2 : lnkNewInsuranceEPC2)).NavigateUrl = " "; (cardType == CardType.Medicare ? lnkNewMedicareEPC2 : (cardType == CardType.DVA ? lnkNewDVAEPC2 : lnkNewInsuranceEPC2)).Text = "Add Referral"; (cardType == CardType.Medicare ? lnkNewMedicareEPC2 : (cardType == CardType.DVA ? lnkNewDVAEPC2 : lnkNewInsuranceEPC2)).Attributes.Add("onclick", js); if (cardType == CardType.Insurance) { lblInsuranceOrgName.Text = card.Organisation.Name + " "; lblInsuranceExpireDate.Text = card.ExpiryDate == DateTime.MinValue ? "Not Entered" : card.ExpiryDate.ToString("d MMM yyyy"); if (card.ExpiryDate != DateTime.MinValue && DateTime.Now.Date >= card.ExpiryDate) { lblInsuranceExpireDate.ForeColor = System.Drawing.Color.Red; lblInsuranceExpireDateText.Text = lblEPCExpireDateText.Text.Replace("Expires:", "*** Expired ***"); lblInsuranceExpireDateText.Font.Bold = true; lblInsuranceExpireDateText.ForeColor = System.Drawing.Color.Red; } else { lblInsuranceExpireDateText.Font.Bold = false; } } if (!isGPsite && cardHasEPC) { string refDate = card.DateReferralSigned == DateTime.MinValue ? "date not set" : card.DateReferralSigned.ToString("d MMM yyyy"); string expDate = card.DateReferralSigned == DateTime.MinValue ? "date not set" : card.DateReferralSigned.AddYears(1).AddDays(-1).ToString("d MMM yyyy"); (cardType == CardType.Medicare ? lblEPCSignedDate : (cardType == CardType.DVA ? lblDVAEPCSignedDate : lblInsuranceEPCSignedDate)).Text = refDate; (cardType == CardType.Medicare ? lblEPCExpireDate : (cardType == CardType.DVA ? lblDVAEPCExpireDate : lblInsuranceEPCExpireDate)).Text = expDate; // // set add/edit epc links // (cardType == CardType.Medicare ? lnkNewMedicareEPC : (cardType == CardType.DVA ? lnkNewDVAEPC : lnkNewInsuranceEPC)).Visible = true; (cardType == CardType.Medicare ? lnkNewMedicareEPC : (cardType == CardType.DVA ? lnkNewDVAEPC : lnkNewInsuranceEPC)).NavigateUrl = " "; (cardType == CardType.Medicare ? lnkNewMedicareEPC : (cardType == CardType.DVA ? lnkNewDVAEPC : lnkNewInsuranceEPC)).Text = "Replace Referral"; (cardType == CardType.Medicare ? lnkNewMedicareEPC : (cardType == CardType.DVA ? lnkNewDVAEPC : lnkNewInsuranceEPC)).Attributes.Add("onclick", js); if (!Utilities.IsMobileDevice(Request)) { allFeatures = "dialogWidth:550px;dialogHeight:520px;center:yes;resizable:no; scroll:no"; js = "javascript:window.showModalDialog('EPCDetailV2.aspx?type=edit&id=" + card.HealthCardID.ToString() + "', '', '" + allFeatures + "');window.location=window.location;return false;"; } else { js = "open_new_tab('EPCDetailV2.aspx?type=edit&id=" + card.HealthCardID.ToString() + "');return false;"; } (cardType == CardType.Medicare ? lnkEditMedicareEPC : (cardType == CardType.DVA ? lnkEditDVAEPC : lnkEditInsuranceEPC)).Visible = true; (cardType == CardType.Medicare ? lnkEditMedicareEPC : (cardType == CardType.DVA ? lnkEditDVAEPC : lnkEditInsuranceEPC)).NavigateUrl = " "; (cardType == CardType.Medicare ? lnkEditMedicareEPC : (cardType == CardType.DVA ? lnkEditDVAEPC : lnkEditInsuranceEPC)).Text = "Edit Referral"; (cardType == CardType.Medicare ? lnkEditMedicareEPC : (cardType == CardType.DVA ? lnkEditDVAEPC : lnkEditInsuranceEPC)).Attributes.Add("onclick", js); if (card.DateReferralSigned != DateTime.MinValue && DateTime.Now.Date >= card.DateReferralSigned.AddYears(1).Date) { (cardType == CardType.Medicare ? lblEPCExpireDate : (cardType == CardType.DVA ? lblDVAEPCExpireDate : lblInsuranceEPCExpireDate)).ForeColor = System.Drawing.Color.Red; (cardType == CardType.Medicare ? lblEPCExpireDateText : (cardType == CardType.DVA ? lblDVAEPCExpireDateText : lblInsuranceEPCExpireDateText)).Text = lblEPCExpireDateText.Text.Replace("Expires:", "*** Expired ***"); (cardType == CardType.Medicare ? lblEPCExpireDateText : (cardType == CardType.DVA ? lblDVAEPCExpireDateText : lblInsuranceEPCExpireDateText)).Font.Bold = true; (cardType == CardType.Medicare ? lblEPCExpireDateText : (cardType == CardType.DVA ? lblDVAEPCExpireDateText : lblInsuranceEPCExpireDateText)).ForeColor = System.Drawing.Color.Red; } else { (cardType == CardType.Medicare ? lblEPCExpireDateText : (cardType == CardType.DVA ? lblDVAEPCExpireDateText : lblInsuranceEPCExpireDateText)).Font.Bold = false; } if (cardType == CardType.Medicare) { string lblEPCsRemainingTable = @" <table border=""0"" cellspacing=""0"" cellpadding=""0"">"; int totalRemainingAllFields = 0; HealthCardEPCRemaining[] epcsRemaining = HealthCardEPCRemainingDB.GetByHealthCardID(card.HealthCardID, -1); if (epcsRemaining.Length == 0) { lblEPCsRemainingTable += @" <tr> <td width=""18""></td> <td>No service types added.</td> </tr>"; } else { for (int i = 0; i < epcsRemaining.Length; i++) { string colorStartTag = epcsRemaining[i].NumServicesRemaining > 0 ? "" : @"<font color=""red"">"; string colorEndTag = epcsRemaining[i].NumServicesRemaining > 0 ? "" : @"</font>"; totalRemainingAllFields += epcsRemaining[i].NumServicesRemaining; lblEPCsRemainingTable += @" <tr> <td width=""18""></td> <td>" + colorStartTag + epcsRemaining[i].Field.Descr + colorEndTag + @"</td> <td width=""12""></td> <td><b>" + colorStartTag + epcsRemaining[i].NumServicesRemaining + colorEndTag + @"</b></td> </tr>"; } } lblEPCsRemainingTable += @" </table>"; lblEPCsRemaining.Text = lblEPCsRemainingTable; EPCInfo epcInfo = EPCInfoDB.GetEPCInfo(card.Patient.PatientID); lblCombinedEPCRemainingThisYear.Text = (totalRemainingAllFields < epcInfo.RamainingThisYear) ? totalRemainingAllFields.ToString() : epcInfo.RamainingThisYear.ToString(); lblCombinedEPCUsedThisYear.Text = epcInfo.NbrMedicareServicesUsedSoFarThisYear.ToString(); lblCombinedEPCRemainingNextYear.Text = (totalRemainingAllFields < epcInfo.RamainingThisYear) ? "0" : epcInfo.RemainingNextYear.ToString(); if (Convert.ToInt32(lblCombinedEPCRemainingThisYear.Text) <= 0) { lblCombinedEPCRemainingThisYear.ForeColor = System.Drawing.Color.Red; lblCombinedEPCRemainingThisYearText.Font.Bold = true; lblCombinedEPCRemainingThisYearText.ForeColor = System.Drawing.Color.Red; } if (Convert.ToInt32(lblCombinedEPCRemainingNextYear.Text) <= 0) { spn_combined_epc_remaining_next_year.Visible = false; } bool expired = (card.DateReferralSigned != DateTime.MinValue && DateTime.Now.Date >= card.DateReferralSigned.AddYears(1).Date); if (expired) { lblCombinedEPCRemainingThisYear.Text = "0"; lblCombinedEPCRemainingNextYear.Text = "0"; } } } } }