/// <summary> /// Gets a start and end date filter for Diagnostics /// </summary> /// <returns></returns> private KeyValuePair <DateTime?, DateTime?> GetDiagnosticDateRange() { PatientProtocolController ppc = new PatientProtocolController(int.Parse(PatientProtocolId)); DateTime?startDate = ppc.GetStatusDate(PatientProtocolController.OnStudy); // 90 days before on study if (startDate.HasValue) { startDate = startDate.Value.AddDays(-90); } DateTime?endDate = ppc.GetStatusDate(PatientProtocolController.OffStudy); return(new KeyValuePair <DateTime?, DateTime?>(startDate, endDate));; }
private DateTime?GetOnStudyDate() { int ptProtocolId = int.Parse(PatientProtocolId); PatientProtocolController ppc = new PatientProtocolController(ptProtocolId); return(ppc.GetStatusDate(PatientProtocolController.OnStudy)); }
/// <summary> /// Populates the patient's baseline form /// </summary> private void PopulateBaselineForm() { int patientId = int.Parse(BaseDecryptedPatientId); int ptProtocolId = int.Parse(PatientProtocolId); var dataEntryControls = PageUtil.GetControls <BaseDataEntryControl>(BaselineFormPanel); // load patient Patient patient = new Patient(); patient.Get(patientId); // load patient protocol PatientProtocol ptProtocol = new PatientProtocol(); ptProtocol.Get(ptProtocolId); PatientProtocolController ptProtocolController = new PatientProtocolController(ptProtocolId); DateTime?onStudyDate = ptProtocolController.GetStatusDate(PatientProtocolController.OnStudy); DateTime?screeningFailedDate = ptProtocolController.GetStatusDate(PatientProtocolController.ScreeningFailed); DateTime?screeningPassedDate = ptProtocolController.GetStatusDate(PatientProtocolController.ScreeningPassed); // determine date ranges DateTime?baselineFromDate = null; DateTime?baselineToDate = onStudyDate ?? screeningFailedDate ?? screeningPassedDate; List <ICaisisInputControl> inputs = new List <ICaisisInputControl>(); // populate components foreach (BaseDataEntryControl control in dataEntryControls) { // set date ranges control.BaselineFromDate = baselineFromDate; // todo??? control.BaselineToDate = baselineToDate; control.Populate(); inputs.AddRange(CICHelper.GetCaisisInputControls(control)); } // add required field foreach (var control in inputs.Where(i => i.Required).OfType <WebControl>()) { control.Attributes["data-required"] = "true"; } }
private void BuildChronList() { int patientId = int.Parse(BaseDecryptedPatientId); //ChronoDa da = new ChronoDa(); //DataView dv = da.GetChronoList(patientId, CHRON_NAME, User.Identity.Name).Tables[0].DefaultView; PatientProtocolResponseDa da = new PatientProtocolResponseDa(); // all dx types //DataView dv = da.GetImagingAndResponseChronList(patientId).DefaultView; // only specific dx types DataTable imagingTable = da.GetImagingAndResponseChronList(patientId, DxImagingTypes); DataView imagingView = imagingTable.DefaultView; // filter > 90 days before screened date if (!string.IsNullOrEmpty(PatientProtocolId) && DiagFilter.Checked) { PatientProtocolController ppc = new PatientProtocolController(int.Parse(PatientProtocolId)); DateTime? onStudyDate = ppc.GetStatusDate(PatientProtocolController.OnStudy); DateTime? offStudyDate = ppc.GetStatusDate(PatientProtocolController.OffStudy); List <string> filters = new List <string>(); // within 90 days of on study if (onStudyDate.HasValue) { filters.Add(string.Format("SortDate >= #{0:d}#", onStudyDate.Value.AddDays(-90))); } // after off study if (offStudyDate.HasValue) { filters.Add(string.Format("SortDate <= #{0:d}#", offStudyDate.Value)); } if (filters.Count > 0) { imagingView.RowFilter = string.Join(" AND ", filters.ToArray()); } } ImagingChronListRptr.DataSource = imagingView; ImagingChronListRptr.DataBind(); }