コード例 #1
0
ファイル: SeedManagementUtil.cs プロジェクト: aomiit/caisis
        /*Public Function GetImplantActivity(strIsotope As String, vAssayActivity As Variant, vAssayDate As Variant) As Variant
         * Dim dImplantDate As Date
         * GetImplantActivity = Null
         * If IsNumeric(vAssayActivity) Then
         *      If IsDate(vAssayDate) Then
         *              If objPatient.ImplantDate <> vbNullString Then
         *                      dImplantDate = objPatient.ImplantDate
         *                      If dImplantDate <> MISSING_DATE Then
         *                              Select Case strIsotope
         *                              Case "Iodine", "I-125", "I125"
         *                                      'half-life
         *                                      GetImplantActivity = CSng(vAssayActivity) * 0.5 ^ ((dImplantDate - CDate(vAssayDate)) / 59.4)
         *                              Case "Palladium", "Pd-103", "Pd103"
         *                                      GetImplantActivity = CSng(vAssayActivity) * 0.5 ^ ((dImplantDate - CDate(vAssayDate)) / 16.97)
         *                              End Select
         *                      End If
         *              End If
         *      End If
         * End If
         * Exit_Procedure:
         * Exit Function*/

        /// <summary>
        ///
        /// If this is too slow/performance hit, then move function to back end.
        /// </summary>
        /// <param name="isotope"></param>
        /// <param name="assayActivity"></param>
        /// <param name="assayDate"></param>
        /// <returns></returns>
        public static object GetCurrentActivity(string isotope, string assayActivity, string assayDate)
        {
            object currentActivity = System.DBNull.Value;

            if (PageUtil.IsInteger(assayActivity) || PageUtil.IsDecimal(assayActivity))
            {
                if (PageUtil.IsDate(assayDate))
                {
                    DateTime d1, d2;

                    d1 = System.DateTime.Now;
                    d2 = Convert.ToDateTime(assayDate);

                    TimeSpan ts = d1 - d2;

                    int days = ts.Days;
                    //GetCurrentActivity = sngAssayActivity * 0.5 ^ ((Date - dAssayDate) / 59.4)
                    if (isotope.Equals("Iodine") || isotope.Equals("I-125") || isotope.Equals("I125"))
                    {
                        double Itotal = Convert.ToDouble(assayActivity) * (Math.Pow(0.5, (days / 59.4)));
                        currentActivity = Math.Round(Itotal, 6).ToString();                        // could remove this to store full value in db and round to six places on output
                    }
                    else if (isotope.Equals("Palladium") || isotope.Equals("Pd-103") || isotope.Equals("Pd103"))
                    {
                        double Ptotal = Convert.ToDouble(assayActivity) * (Math.Pow(0.5, (days / 16.97)));
                        currentActivity = Math.Round(Ptotal, 6).ToString();
                    }
                }
            }

            return(currentActivity);
        }
コード例 #2
0
    protected override void Page_Load(object sender, EventArgs e)
    {
        base.SetPatientLabels(Name, MRN);

        if (!String.IsNullOrEmpty(FuMonth))
        {
            if (FuMonth.Equals("0"))
            {
                Period.Text = "Pre-Op";
            }

            else
            {
                Period.Text = FuMonth + " Month";
            }
        }

        Patient pt = new Patient();

        pt.Get(PatientId);
        if (pt[Patient.PtBirthDate] != null && PageUtil.IsDate(pt[Patient.PtBirthDate].ToString()))
        {
            DateTime dob = DateTime.Parse(pt[Patient.PtBirthDate].ToString());
            DOBDay.Text   = dob.Day.ToString();
            DOBMonth.Text = dob.Month.ToString();
            DOBYear.Text  = dob.Year.ToString();
        }
    }
コード例 #3
0
ファイル: SeedManagementUtil.cs プロジェクト: aomiit/caisis
        /* 'actual seeds assigned to patient
         * If IsNumeric(txtSeedStrength) Then
         *      If IsNumeric(txtNumSeeds) Then
         *              txtTotalActivity = CSng(txtNumSeeds) * CSng(txtSeedStrength)
         *              blnDosimetrySaved = False
         *      Else
         *              blnComplete = False
         *      End If
         *      'reccommended activity calculated above
         *      'see if actual is greater than recommended, should be about 100-110%
         *      If IsNumeric(txtRecTotActivity) Then
         *              If IsNumeric(txtTotalActivity) And CSng(txtRecTotActivity) > 0 Then
         *                      txtPercentActivity = CSng(txtTotalActivity) / CSng(txtRecTotActivity)
         *                      blnDosimetrySaved = False
         *              Else
         *                      blnComplete = False
         *              End If
         *      Else
         *              blnComplete = False
         *      End If
         * Else
         *      blnComplete = False
         * End If
         */

        /// <summary>
        ///
        /// </summary>
        /// <param name="isotope"></param>
        /// <param name="assayActivity"></param>
        /// <param name="assayDate"></param>
        /// <param name="implantDate"></param>
        /// <returns></returns>
        public static string GetImplantActivity(string isotope, string assayActivity, string assayDate, string implantDate)
        {
            string implantActivity = "";

            if (PageUtil.IsInteger(assayActivity) || PageUtil.IsDecimal(assayActivity))
            {
                if (PageUtil.IsDate(assayDate) && PageUtil.IsDate(implantDate))
                {
                    DateTime d1, d2;

                    d1 = Convert.ToDateTime(implantDate);            //implant date comes from BrachyDate field in Brachy table
                    d2 = Convert.ToDateTime(assayDate);

                    TimeSpan ts = d1 - d2;

                    int days = ts.Days;
                    //GetCurrentActivity = sngAssayActivity * 0.5 ^ ((Date - dAssayDate) / 59.4)
                    if (isotope.Equals("Iodine") || isotope.Equals("I-125") || isotope.Equals("I125"))
                    {
                        double Itotal = Convert.ToDouble(assayActivity) * (Math.Pow(0.5, (days / 59.4)));
                        implantActivity = Math.Round(Itotal, 6).ToString();                        // could remove this to store full value in db and round to six places on output
                    }
                    else if (isotope.Equals("Palladium") || isotope.Equals("Pd-103") || isotope.Equals("Pd103"))
                    {
                        double Ptotal = Convert.ToDouble(assayActivity) * (Math.Pow(0.5, (days / 16.97)));
                        implantActivity = Math.Round(Ptotal, 6).ToString();
                    }
                }
            }

            return(implantActivity);
        }
コード例 #4
0
        protected void UpdateUserRecord(int userId)
        {
            object deactivateDate;

            if (PageUtil.IsDate(Request.Form["DeactivateDate"]))
            {
                deactivateDate = DateTime.Parse(Request.Form["DeactivateDate"].ToString());
            }
            else
            {
                deactivateDate = System.DBNull.Value;
            }

            User u = new User();

            u.Get(userId);
            u[BOL.User.UserFirstName]   = UserFirstName.Value;
            u[BOL.User.UserLastName]    = UserLastName.Value;
            u[BOL.User.UserName]        = UserName.Value;
            u[BOL.User.UserEmail]       = UserEmail.Value;
            u[BOL.User.UserEmployeeId]  = UserEmployeeId.Value;
            u[BOL.User.DeactivatedTime] = deactivateDate;

            u.Save();

            # region pre v5.0
            //UserDa da = new UserDa();
            //object deactivateDate;
            //Caisis.Security.SecurityController sc = new Caisis.Security.SecurityController();
            //bool returnVal = da.UpdateUserRecord(userId, Request.Form["UserName"], Request.Form["UserFirstName"], Request.Form["UserLastName"], Request.Form["UserEmail"], deactivateDate, sc.GetUserName());
            //return returnVal;
            # endregion
コード例 #5
0
ファイル: EpicSurvey.ascx.cs プロジェクト: aomiit/caisis
    protected override void Page_Load(object sender, EventArgs e)
    {
        base.SetPatientLabels(Name, MRN);

        Patient pt = new Patient();

        pt.Get(PatientId);
        if (pt[Patient.PtBirthDate] != null && PageUtil.IsDate(pt[Patient.PtBirthDate].ToString()))
        {
            DateTime dob = DateTime.Parse(pt[Patient.PtBirthDate].ToString());
            DOBDay.Text   = dob.Day.ToString();
            DOBMonth.Text = dob.Month.ToString();
            DOBYear.Text  = dob.Year.ToString();
        }
    }
コード例 #6
0
        private void SetUpTimePeriod()
        {
            bool setFromDate = false;
            bool setToDate   = false;

            PageUtil.AddCalendarFunction(txtFromDateCal, txtFromDate);
            PageUtil.AddCalendarFunction(txtToDateCal, txtToDate);

            if (!Page.IsPostBack)
            {
                toDate      = DateTime.Now;
                fromDate    = toDate.AddDays(-30);
                setFromDate = true;
                setToDate   = true;
            }
            else
            {
                if (PageUtil.IsDate(txtFromDate.Value))
                {
                    fromDate    = DateTime.Parse(txtFromDate.Value);
                    setFromDate = true;
                }
                if (PageUtil.IsDate(txtToDate.Value))
                {
                    toDate    = DateTime.Parse(txtToDate.Value);
                    setToDate = true;
                }
            }
            if (setFromDate)
            {
                txtFromDate.Value = PageUtil.ObjToDateString(fromDate);
            }
            else
            {
                txtFromDate.Value = "";
            }
            if (setToDate)
            {
                txtToDate.Value = PageUtil.ObjToDateString(toDate);
            }
            else
            {
                txtToDate.Value = "";
            }
        }
コード例 #7
0
        public bool ValidateDates()
        {
            string sDateFrom = this.dateFrom.Value;
            string sDateTo   = this.dateTo.Value;

            if (!string.IsNullOrEmpty(sDateFrom))
            {
                if (sDateFrom.Length > 0 && !PageUtil.IsDate(sDateFrom))
                {
                    return(false);
                }
            }
            if (!string.IsNullOrEmpty(sDateTo))
            {
                if (sDateTo.Length > 0 && !PageUtil.IsDate(sDateTo))
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #8
0
        override protected void Page_Load(object sender, System.EventArgs e)
        {
            base.Page_Load(sender, e);

            valMsg.Text = "";



            SelectUserName.Attributes.Add("onchange", "this.form." + SelectSubmitted.ClientID + ".value = 'true'; this.form.submit();");

            //DeleteBtn.Attributes.Add("onClick", "confirmDelete();");

            if (Page.IsPostBack)
            {
                //check if form is submitted from select box or to add/delete
                if (Request.Form["SelectSubmitted"] != null && Request.Form["SelectSubmitted"].Equals("true"))
                {
                    //select box submitted form, populate forms fields
                    //UserDa da = new UserDa();
                    //DataSet userDs = da.GetByUserId( int.Parse(Request.Form["SelectUserName"]));
                    //DataRow userDr = userDs.Tables[0].Rows[0];

                    User userDr = new User();
                    userDr.Get(int.Parse(Request.Form["SelectUserName"]));

                    UserName.Value       = userDr["UserName"].ToString();
                    UserEmail.Value      = userDr["UserEmail"].ToString();
                    UserFirstName.Value  = userDr["UserFirstName"].ToString();
                    UserLastName.Value   = userDr["UserLastName"].ToString();
                    UserEmployeeId.Value = userDr[BOL.User.UserEmployeeId].ToString();

                    // set deactivate checkbox and time is not null
                    string dDate = "";
                    if (userDr["DeactivatedTime"] != null && PageUtil.IsDate(userDr["DeactivatedTime"].ToString()))
                    {
                        dDate = ((DateTime)userDr["DeactivatedTime"]).ToShortDateString();
                    }
                    DeactivateDate.Value = dDate;

                    if (userDr["DeactivatedTime"] != null && userDr["DeactivatedTime"].ToString().Length > 0)
                    {
                        Deactivate.Checked = true;
                    }
                    else
                    {
                        Deactivate.Checked = false;
                    }

                    FormTable.Visible = true;

                    SelectSubmitted.Value = "false";
                }
            }
            //page just loaded, show select with usernames
            else
            {
                this.SetUserDropDown();

                FormTable.Visible = false;
            }
        }
コード例 #9
0
        protected bool ValidateUpdate()
        {
            bool returnVal = true;

            valMsg.Text = "";

            // if selected, check that deactivate date is the correct format
            if (Request.Form["Deactivate"] != null && Request.Form["Deactivate"].Equals("yes"))
            {
                if (Request.Form["DeactivateDate"] == null || Request.Form["DeactivateDate"].Length < 4 || !PageUtil.IsDate(Request.Form["DeactivateDate"]))
                {
                    valMsg.Text += "Error: Deactivate date not in DateFormat";
                    return(returnVal = false);
                }
            }

            //TODO: set valMsg if problem. check for duplicate usernames

            return(returnVal);
        }
コード例 #10
0
        private void ShowReport(string useReport)
        {
            if (useReport.Length < 1)
            {
                showReportInfo = true;
                return;
            }

            DataSet ds       = new DataSet();
            bool    bindData = true;

            AdminReportsDa da = new AdminReportsDa();

            ReportConfiguration rprt = reportConfigurations[useReport];
            string datasetSql        = CacheManager.GetDatasetSQL(System.Web.HttpContext.Current.Session[SessionKey.DatasetId]);

            if (rprt.UseGenericReportFormat)
            {
                bindData          = true;
                lblPageTitle.Text = rprt.Title;
                string paramName  = null;
                string paramValue = null;
                if (lblAdditionalFiltering.Text != "N/A")
                {
                    paramName = lblAdditionalFiltering.Text;

                    if (txtAdditionalFilter1.CssClass != "DisplayNone")
                    {
                        paramValue = txtAdditionalFilter1.Text;
                    }
                    else
                    {
                        paramValue = ddlAdditionalFilter1.SelectedItem.Text;
                    }
                }
                if (Request.QueryString["paramValue"] != null && Request.Cookies["AdminReportUseQuerystring"].Value == "true")
                {
                    paramValue = Request.QueryString["paramValue"];
                    paramName  = Request.QueryString["paramName"];
                    lblAdditionalFiltering.Text = paramName;
                    txtAdditionalFilter1.Text   = paramValue;
                }
                if (rprt.UseTimePeriod)
                {
                    ds = da.GetAdminReport(null, rprt.StoredProcedure, paramName, paramValue, txtFromDate.Value, txtToDate.Value, false);
                }
                else
                {
                    ds = da.GetAdminReport(null, rprt.StoredProcedure, paramName, paramValue, false);
                }
            }
            else
            {
                #region userSummary
                if (useReport == "UserSummary")
                {
                    if (ddlReportMenu.SelectedValue != "UserSummary")
                    {
                        if (Page.IsPostBack || Request.QueryString["report"] == null || Request.QueryString["report"].ToString() != "UserSummary")
                        {
                            return;
                        }
                    }
                    lblAdminReportInfo.Visible = false;
                    lblAdminPage.Visible       = true;
                    dgAdminReport.Visible      = false;

                    string   iUserId;
                    string   userName, userFirstName, userLastName, userEmail, enteredBy, updatedBy;
                    string   enteredTime, updatedTime, deactivatedTime;
                    TimeSpan timespan;

                    Label lblAdminReportSubHeading2 = new Label();

                    lblAdminPage.Controls.Add(lblAdminReportSubHeading2);

                    if (Request.QueryString["paramName"] == "userName" && Request.Cookies["AdminReportUseQuerystring"].Value == "true")
                    {
                        userName = Request.QueryString["paramValue"];
                    }
                    else
                    {
                        userName = txtAdditionalFilter1.Text;
                    }

                    ds = da.GetUserInfo(userName);

                    if (ds.Tables[0].Rows.Count != 1)
                    {
                        lblAdminReportSubHeading2.Text    = "No matching user found.";
                        lblAdminReportSubHeading2.Visible = true;
                    }
                    else
                    {
                        //TODO FIX "username" etc
                        iUserId       = ds.Tables[0].Rows[0]["UserId"].ToString();
                        userName      = ds.Tables[0].Rows[0]["UserName"].ToString();
                        userFirstName = ds.Tables[0].Rows[0]["UserFirstName"].ToString();
                        userLastName  = ds.Tables[0].Rows[0]["UserLastName"].ToString();
                        userEmail     = ds.Tables[0].Rows[0]["UserEmail"].ToString();
                        enteredBy     = ds.Tables[0].Rows[0]["EnteredBy"].ToString();
                        updatedBy     = ds.Tables[0].Rows[0]["UpdatedBy"].ToString();
                        enteredTime   = ds.Tables[0].Rows[0]["EnteredTime"].ToString();
                        updatedTime   = ds.Tables[0].Rows[0]["UpdatedTime"].ToString();

                        if (PageUtil.IsDate(updatedTime))
                        {
                            timespan = DateTime.Now - DateTime.Parse(updatedTime);
                        }
                        else
                        {
                            timespan = DateTime.Now - DateTime.Parse(enteredTime);
                        }

                        deactivatedTime   = ds.Tables[0].Rows[0]["DeactivatedTime"].ToString();
                        lblPageTitle.Text = "User Summary: " + userName;

                        lblAdminReportSubHeading2.Text = "<table><tr><td width=100>First name:</td><td>" + userFirstName + "</td></tr>" +
                                                         "<tr><td>Last name:</td><td>" + userLastName + "</td></tr>" +
                                                         "<tr><td>Email:</td><td><a href=\"mailto:" + userEmail + "\">" + userEmail + "</a></td></tr>" +
                                                         "<tr><td>Entered time:</td><td>" + enteredTime + "</td></tr>" +
                                                         "<tr><td>Entered by:</td><td>" + enteredBy + "</td></tr>" +
                                                         "<tr><td>Updated time:</td><td>" + updatedTime + "</td></tr>" +
                                                         "<tr><td>Updated by:</td><td>" + updatedBy + "</td></tr>" +
                                                         "<tr><td>Days since update:</td><td>" + timespan.Days.ToString() + "</td></tr>" +
                                                         "<tr><td>Deactivated time:</td><td>" + deactivatedTime + "</td></tr></tr></table><br><br>" +
                                                         "<b>Last 5 logins for this user:</b> <br>";

                        lblAdminReportSubHeading2.Visible = true;

                        Label lblAdminReportSubHeading3 = new Label();

                        DataGrid dgAdminReport01 = new DataGrid();
                        lblAdminPage.Controls.Add(dgAdminReport01);
                        lblAdminPage.Controls.Add(lblAdminReportSubHeading3);

                        ds = da.GetUsersLastFiveLogins(userName);

                        if (ds.Tables[0].Rows.Count < 1)
                        {
                            lblAdminReportSubHeading2.Text += "<br>No logins for this user.<br><br>";
                            bindData = false;
                            dgAdminReport01.Visible = false;
                        }
                        else
                        {
                            dgAdminReport01.AutoGenerateColumns = true;
                            dgAdminReport01.DataSource          = ds.Tables[0].DefaultView;
                            dgAdminReport01.DataBind();
                            dgAdminReport01.Width          = 630;
                            dgAdminReport01.CssClass       = "DatagridTable";
                            lblAdminReportSubHeading3.Text = "<a href=AdminSectionReports.aspx?report=LoginsForUser&paramValue=" + userName + "&paramName=userName onClick=\"javascript:setUseQueryStringCookie();\">View all logins for this user.</a><br><br>";
                        }
                        lblAdminReportSubHeading3.Visible = true;
                        lblAdminReportSubHeading3.Text   += "<b>Last 5 patient views for this user:</B> <br>";

                        lblAdminPage.Controls.Add(lblAdminReportSubHeading3);

                        DataGrid dgAdminReport2 = new DataGrid();
                        lblAdminPage.Controls.Add(dgAdminReport2);
                        DataSet ds2 = new DataSet();
                        ds2 = da.GetUsersLastFivePatientViews(iUserId);
                        dgAdminReport2.Width   = 630;
                        dgAdminReport2.Visible = true;
                        Label lblAdminReportSubHeading4 = new Label();
                        lblAdminPage.Controls.Add(lblAdminReportSubHeading4);

                        if (ds2.Tables[0].Rows.Count < 1)
                        {
                            dgAdminReport2.Visible          = false;
                            lblAdminReportSubHeading3.Text += "<br>No patient views for this user.";
                        }
                        else
                        {
                            dgAdminReport2.AutoGenerateColumns = true;
                            dgAdminReport2.DataSource          = ds2.Tables[0].DefaultView;
                            dgAdminReport2.DataBind();
                            lblAdminReportSubHeading4.Visible = true;
                            lblAdminReportSubHeading4.Text    = "<a href=AdminSectionReports.aspx?report=PatientsViewsByUser&paramValue=" + userName + "&paramName=userName onClick=\"javascript:setUseQueryStringCookie()\">View all patient views for this user.</a>";
                        }

                        /*user record changes*/

                        DataGrid dgAdminReport3 = new DataGrid();
                        lblAdminPage.Controls.Add(dgAdminReport3);
                        DataSet ds3 = new DataSet();
                        ds3 = da.GetUsersLastFiveRecordChanges(iUserId);
                        dgAdminReport3.Width   = 630;
                        dgAdminReport3.Visible = true;

                        lblAdminReportSubHeading4.Text += "<br><br><b>Last 5 user record changes:</b> <br>";

                        Label lblAdminReportSubHeading5 = new Label();
                        if (ds3.Tables[0].Rows.Count < 1)
                        {
                            dgAdminReport3.Visible          = false;
                            lblAdminReportSubHeading4.Text += "<br>No patient views for this user.";
                        }
                        else
                        {
                            dgAdminReport3.AutoGenerateColumns = true;
                            dgAdminReport3.DataSource          = ds3.Tables[0].DefaultView;
                            dgAdminReport3.DataBind();
                            lblAdminReportSubHeading5.Visible = true;
                            lblAdminReportSubHeading5.Text    = "<a href=AdminSectionReports.aspx?report=UsersRecordChanges&paramValue=" + userName + "&paramName=userName onClick=\"javascript:setUseQueryStringCookie()\">View all record changes for this user.</a><br>";
                        }
                        lblAdminPage.Controls.Add(lblAdminReportSubHeading5);

                        /*users groups*/

                        DataGrid dgAdminReport4 = new DataGrid();
                        lblAdminPage.Controls.Add(dgAdminReport4);
                        DataSet ds4 = new DataSet();
                        ds4 = da.GetAdminReport(null, "spRptAdminGetAUsersGroups", "UserId", iUserId, false);
                        dgAdminReport4.Width   = 630;
                        dgAdminReport4.Visible = true;

                        lblAdminReportSubHeading5.Text += "<br><br><b>This user belongs to the following groups: </b><br>";

                        if (ds4.Tables[0].Rows.Count < 1)
                        {
                            dgAdminReport4.Visible          = false;
                            lblAdminReportSubHeading5.Text += "<br>This user does not belong to any group.";
                        }
                        else
                        {
                            dgAdminReport4.AutoGenerateColumns = true;
                            dgAdminReport4.DataSource          = ds4.Tables[0].DefaultView;
                            dgAdminReport4.DataBind();
                        }
                    }
                    bindData = false;
                }
                #endregion
            }
            if (bindData)
            {
                doBindData(ds);
                btnExport.Enabled = true;
            }
        }