// hate this, totally inefficient private int GetPatientIdFromIdentifiers() { IdentifierDa da = new IdentifierDa(); DataSet ds = new DataSet(); int patientId = -1; if (healthInsNumExists.Value.Equals("True")) { ds = da.ValidateIdentifier(hHealth_Ins_Num.Value, IDTYPE_HEALTHINSNUM); } else if (rvhExists.Value.Equals("True")) { ds = da.ValidateIdentifier(hRVH_MRN.Value, IDTYPE_RVHMRN); } else if (mghExists.Value.Equals("True")) { ds = da.ValidateIdentifier(hMGH_MRN.Value, IDTYPE_MGHMRN); } else if (mchExists.Value.Equals("True")) { ds = da.ValidateIdentifier(hMCH_MRN.Value, IDTYPE_MCHMRN); } if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { patientId = int.Parse(ds.Tables[0].Rows[0][Identifier.PatientId].ToString()); } return(patientId); }
// use imported identifiers to check for presence of patient in caisis private bool IsPatientInDatabase() { DataSet ds = new DataSet(); IdentifierDa da = new IdentifierDa(); string flagNewIdWith = "<Font color=red title=\"denotes this MRN is not in Caisis yet and will be imported.\"> * </font>"; if (hHealth_Ins_Num.Value.Length > 0) { healthInsNumExists.Value = da.DoesIdentifierExist(hHealth_Ins_Num.Value, IDTYPE_HEALTHINSNUM).ToString(); } if (hRVH_MRN.Value.Length > 0) { rvhExists.Value = da.DoesIdentifierExist(hRVH_MRN.Value, IDTYPE_RVHMRN).ToString(); } if (hMGH_MRN.Value.Length > 0) { mghExists.Value = da.DoesIdentifierExist(hMGH_MRN.Value, IDTYPE_MGHMRN).ToString(); } if (hMCH_MRN.Value.Length > 0) { mchExists.Value = da.DoesIdentifierExist(hMCH_MRN.Value, IDTYPE_MCHMRN).ToString(); } if (healthInsNumExists.Value.Equals("True") || rvhExists.Value.Equals("True") || mghExists.Value.Equals("True") || mchExists.Value.Equals("True")) { // patient is already in database; flag only new identifiers then return true if (healthInsNumExists.Value.Equals("False") && Health_Ins_Num.Text.Length > 0) { Health_Ins_Num.Text += flagNewIdWith; } if (rvhExists.Value.Equals("False") && RVH_MRN.Text.Length > 0) { RVH_MRN.Text += flagNewIdWith; } if (mghExists.Value.Equals("False") && MGH_MRN.Text.Length > 0) { MGH_MRN.Text += flagNewIdWith; } if (mchExists.Value.Equals("False") && MGH_MRN.Text.Length > 0) { MCH_MRN.Text += flagNewIdWith; } UserMessage.Text += flagNewIdWith + " denotes new Identifier."; // NEED to return the patient ID return(true); } else { return(false); } }
private void RetrieveSSN(int PatientID, string FormName, string FormType) { DataTable ptSSNDt; IdentifierDa identifierDa = new IdentifierDa(); ptSSNDt = identifierDa.GetPatientIdentifierTableByIdType(PatientID, "Social Security Number"); if (ptSSNDt.Rows.Count > 0) { rowHasHx1.DataSource = ptSSNDt.DefaultView; rowHasHx1.DataBind(); } }
/// <summary> /// Returns the Patient Identifier (by IdType) for the Patient (by PatientId) /// </summary> /// <param name="patientId"></param> /// <param name="idType"></param> /// <returns></returns> public string GetPatientIdentifier(int patientId, string idType) { //if (idType == LAST_NAME_MRN_IDENTIFIER || string.IsNullOrEmpty(idType)) //{ // Patient biz = new Patient(); // biz.Get(patientId); // return biz[Patient.PtMRN].ToString(); //} //else { IdentifierDa da = new IdentifierDa(); return(da.GetPatientIdentifierByIdType(patientId, idType)); } }
override protected void Page_Load(object sender, System.EventArgs e) { base.Page_Load(sender, e); base.SetTitle(ComponentTitle); // set ramq identifier IdentifierDa ptIdDa = new IdentifierDa(); DataTable caseDt = ptIdDa.GetPatientIdentifierTableByIdType(this._patientId, "CASE ID NUMBER"); DataView caseDv = new DataView(caseDt); if (caseDv.Count > 0) { NoCaseNumMsgTr.Style.Add("display", "none"); NoCaseNumTr.Style.Add("display", "none"); HasCaseNumMsgTr.Style.Remove("display"); HasCaseNumTr.DataSource = caseDv; HasCaseNumTr.DataBind(); } else { NoCaseNumMsgTr.Style.Remove("display"); NoCaseNumTr.Style.Remove("display"); HasCaseNumMsgTr.Style.Add("display", "none"); } DataTable carisCaseDt = ptIdDa.GetPatientIdentifierTableByIdType(this._patientId, "CARIS CASE ID NUMBER"); DataView carisCaseDv = new DataView(carisCaseDt); if (carisCaseDv.Count > 0) { NoCarisCaseNumMsgTr.Visible = false; NoCarisCaseNumTr.Visible = false; HasCarisCaseNumMsgTr.Visible = true; HasCarisCaseNumTr.DataSource = carisCaseDv; HasCarisCaseNumTr.DataBind(); } else { NoCarisCaseNumMsgTr.Visible = true; NoCarisCaseNumTr.Visible = true; HasCarisCaseNumMsgTr.Visible = false; } }
/// <summary> /// Method which is invoked by client callback and validates identifier value against db value /// </summary> /// <param name="e"></param> protected void HandleValidationCallback(CaisisAjaxEventArgs e) { PatientController pc = new PatientController(); string validateFieldValue = e.ClientParams["Identifier"]; bool isNew = false; try { UserController uc = new UserController(); // search by MRN if (IdentifierName == DEFAULT_IDENTIFIER) { if (uc.CanSearchIdentifier("LastNameMRN")) { isNew = pc.IsNewMRN(validateFieldValue, int.Parse(Session[SessionKey.DatasetId].ToString())); } } // search by identifier else { if (uc.CanSearchIdentifier(IdentifierName)) { IdentifierDa da = new IdentifierDa(); isNew = !da.DoesIdentifierExist(validateFieldValue, IdentifierName); } } } catch (ClientException ex) { isNew = false; } // echo back a list of key value pairs to client foreach (string key in e.ClientParams.Keys) { e.ReturnParams.Add(key, e.ClientParams[key]); } // add if is new identifier value e.ReturnParams.Add("IsNew", isNew.ToString().ToLower()); e.ReturnParams.Add("IdentifierName", IdentifierName); }