Example #1
0
    /// <summary>
    /// get the patient checklist ids that need to be threaded
    /// </summary>
    /// <param name="dtFrom"></param>
    /// <param name="dtTo"></param>
    /// <param name="lChecklistID"></param>
    /// <param name="lChecklistStatusID"></param>
    public CStatus GetPatCLIDs(
        DateTime dtFrom,
        DateTime dtTo,
        long lChecklistID,
        long lChecklistStatusID,
        long lServiceID)
    {
        PatCLIDs = string.Empty;

        CPatientData p      = new CPatientData(Master.BaseData);
        CStatus      status = null;
        DataSet      ds     = null;

        switch (ThreadType)
        {
        case k_MULTI_PAT_THREAD_TYPE.Refresh:
            status = p.GetMultiPatientSearchDS(
                dtFrom,
                dtTo,
                lChecklistID,
                lChecklistStatusID,
                lServiceID,
                out ds);
            break;

        case k_MULTI_PAT_THREAD_TYPE.Logic:
            status = p.GetMultiPatientPatCLIDSearchDS(
                dtFrom,
                dtTo,
                lChecklistID,
                lChecklistStatusID,
                lServiceID,
                out ds);
            break;

        default:
            return(new CStatus(false, k_STATUS_CODE.Failed, "TODO"));
        }

        if (!status.Status)
        {
            return(status);
        }

        string strPatCLIDs = string.Empty;

        CDataUtils.GetDSDelimitedData(
            ds,
            "PAT_CL_ID",
            ",",
            out strPatCLIDs);

        PatCLIDs = "," + strPatCLIDs;

        return(new CStatus());
    }
    /// <summary>
    /// override
    /// sets focus
    /// </summary>
    /// <param name="lEditMode"></param>
    /// <param name="lStatusCode"></param>
    /// <param name="strStatusComment"></param>
    /// <returns></returns>
    public override CStatus LoadControl(k_EDIT_MODE lEditMode)
    {
        CStatus status = new CStatus();

        //get all the patients for the mulitpatient
        string       strCLIDs             = String.Empty;
        string       strPatIDs            = String.Empty;
        CPatientData pat                  = new CPatientData(BaseMstr.BaseData);
        DataSet      dsMultiPatientSearch = null;

        status = pat.GetMultiPatientSearchDS(EventStartDate,
                                             EventEndDate,
                                             ChecklistID,
                                             ChecklistStatusID,
                                             ChecklistServiceID,
                                             out dsMultiPatientSearch);

        //get patient ids
        CDataUtils.GetDSDelimitedData(dsMultiPatientSearch,
                                      "PATIENT_ID",
                                      ",",
                                      out strPatIDs);
        strPatIDs = "," + strPatIDs;

        //get pat cl ids
        CDataUtils.GetDSDelimitedData(dsMultiPatientSearch,
                                      "CHECKLIST_ID",
                                      ",",
                                      out strCLIDs);
        strCLIDs = "," + strCLIDs;


        CPatChecklistData dta  = new CPatChecklistData(BaseMstr.BaseData);
        DataSet           dsCL = null;

        status = dta.GetOutOfDatePatCLDS(EventStartDate,
                                         EventEndDate,
                                         ChecklistID,
                                         ChecklistStatusID,
                                         strPatIDs,
                                         strCLIDs,
                                         out dsCL);

        //if (!CDataUtils.IsEmpty(dsCL))
        //{
        gvOutOfDateCL.DataSource = dsCL.Tables[0];
        gvOutOfDateCL.DataBind();
        //}

        return(status);
    }
Example #3
0
    /// <summary>
    /// method
    /// gets result set of all the patients that match the patient filters from the database
    /// </summary>
    /// <param name="dtFrom"></param>
    /// <param name="dtTo"></param>
    /// <param name="lChecklistID"></param>
    /// <param name="lChecklistStatusID"></param>
    /// <returns></returns>
    protected CStatus GetPatients(
        DateTime dtFrom,
        DateTime dtTo,
        long lChecklistID,
        long lChecklistStatusID,
        long lChecklistServiceID)
    {
        CPatientData pat = new CPatientData(Master.BaseData);
        DataSet      dsMultiPatientSearch = null;
        CStatus      status = pat.GetMultiPatientSearchDS(
            dtFrom,
            dtTo,
            lChecklistID,
            lChecklistStatusID,
            lChecklistServiceID,
            out dsMultiPatientSearch);

        if (!status.Status)
        {
            return(status);
        }

        // add url value for each row based on the state id
        dsMultiPatientSearch.Tables[0].Columns.Add("WR_ITEM_GROUP_URL", Type.GetType("System.String"));

        foreach (DataRow dr in dsMultiPatientSearch.Tables[0].Rows)
        {
            switch (Convert.ToInt64(dr["WR_ITEM_GROUP_STATE_ID"]))
            {
            case (long)k_STATE_ID.Bad:
                dr["WR_ITEM_GROUP_URL"] = Resources.Images.STATE_BAD;
                break;

            case (long)k_STATE_ID.Good:
                dr["WR_ITEM_GROUP_URL"] = Resources.Images.STATE_GOOD;
                break;

            default:
                dr["WR_ITEM_GROUP_URL"] = Resources.Images.STATE_UNKNOWN;
                break;
            }
        }

        MultiPatients = dsMultiPatientSearch.Tables[0];

        return(new CStatus());
    }
Example #4
0
    /// <summary>
    /// US:1883 US:834 refresh multipatient view
    /// </summary>
    /// <param name="plistPatChecklistIDs"></param>
    /// <returns></returns>
    public CStatus RefreshMultiPatientChecklists(CDataConnection conn,
                                                 CData data,
                                                 DateTime dtFrom,
                                                 DateTime dtTo,
                                                 long lChecklistID,
                                                 long lServiceID,
                                                 long lChecklistStatus)
    {
        //this class is used to do all transfers
        //from MDWS to the VAPPCT database
        CMDWSTransfer xfer = new CMDWSTransfer(data);

        //get the multi patient checklist ds, uses the same filters
        // as the website form does
        DataSet      dsMulti = null;
        CPatientData pd      = new CPatientData(data);
        CStatus      status  = pd.GetMultiPatientSearchDS(
            dtFrom,
            dtTo,
            lChecklistID,
            lChecklistStatus,
            lServiceID,
            out dsMulti);

        if (!status.Status)
        {
            //write the event to the event table
            WriteEvent(data, "GetMultiPatientSearchDS", status.StatusComment);
            return(status);
        }

        foreach (DataTable table in dsMulti.Tables)
        {
            foreach (DataRow dr in table.Rows)
            {
                //checklist ID
                long lPatChecklistID = Convert.ToInt64(dr["pat_cl_id"].ToString());

                //get the items for this pat checklist id
                DataSet         dsChecklistItems = null;
                CVAPPCTCommData commData         = new CVAPPCTCommData(data);
                status = commData.GetPatChecklistItemDS(lPatChecklistID,
                                                        out dsChecklistItems);
                if (!status.Status)
                {
                    //write the event to the event table
                    WriteEvent(data, "GetPatChecklistItemDS", status.StatusComment);
                    return(status);
                }

                //refresh the checklist items
                status = RefreshPatientCheckList(
                    conn,
                    data,
                    dsChecklistItems);
                if (!status.Status)
                {
                    //write the event to the event table
                    WriteEvent(data, "RefreshPatientCheckList", status.StatusComment);
                    return(status);
                }

                //refresh the checklist collection items
                DataSet dsCLCollectionItems = null;
                status = commData.GetPatientCLCollectionItemDS(lPatChecklistID,
                                                               out dsCLCollectionItems);
                if (!status.Status)
                {
                    //write the event to the event table
                    WriteEvent(data, "GetPatientCLCollectionItemDS", status.StatusComment);
                    return(status);
                }

                //refresh the checklist items
                status = RefreshPatientCheckList(
                    conn,
                    data,
                    dsCLCollectionItems);
                if (!status.Status)
                {
                    //write the event to the event table
                    WriteEvent(data, "RefreshPatientCheckList", status.StatusComment);
                    return(status);
                }
            }
        }

        return(status);
    }
Example #5
0
    /// <summary>
    /// loads the gridview after we are done updating the checklists
    /// </summary>
    protected CStatus LoadGridView()
    {
        //done processing the logic so now load the gridview
        //set the date from and date to
        DateTime dtFrom = CDataUtils.GetNullDate();
        DateTime dtTo   = CDataUtils.GetNullDate();

        if (chkFilterByEvent.Checked)
        {
            dtFrom = CDataUtils.GetDate(txtFromDate.Text);
            dtTo   = CDataUtils.GetDate(txtToDate.Text);
        }
        MPEventStartDate = dtFrom;
        MPEventEndDate   = dtTo;

        //checklist id
        long lChecklistID = -1;

        if (chkChecklist.Checked)
        {
            lChecklistID = ChecklistID;
        }
        MPChecklistID = lChecklistID;

        //set the checklist Status
        long lChecklistStatusID = -1;

        if (chkChecklistStatus.Checked &&
            ddlChecklistStatus.SelectedItem != null &&
            ddlChecklistStatus.SelectedValue != "-1")
        {
            lChecklistStatusID = CDataUtils.ToLong(ddlChecklistStatus.SelectedValue);
        }
        MPChecklistStatusID = lChecklistStatusID;

        long lChecklistServiceID = -1;

        if (chkFilterByCLService.Checked &&
            ddlFilterByService.SelectedItem != null &&
            ddlFilterByService.SelectedValue != "-1")
        {
            lChecklistServiceID = CDataUtils.ToLong(ddlFilterByService.SelectedValue);
        }
        MPChecklistServiceID = lChecklistServiceID;

        CStatus status = GetPatients(dtFrom,
                                     dtTo,
                                     lChecklistID,
                                     lChecklistStatusID,
                                     lChecklistServiceID);

        if (!status.Status)
        {
            return(status);
        }

        AddColumns();

        gvMultiPatientView.EmptyDataText = "No result(s) found.";
        gvMultiPatientView.DataSource    = MultiPatients;
        gvMultiPatientView.DataBind();

        //now that the grid is loaded check for new versions...

        //get all the patients for the mulitpatient
        string strCLIDs  = string.Empty;
        string strPatIDs = string.Empty;

        CPatientData pat = new CPatientData(Master.BaseData);
        DataSet      dsMultiPatientSearch = null;

        status = pat.GetMultiPatientSearchDS(
            MPEventStartDate,
            MPEventEndDate,
            MPChecklistID,
            MPChecklistStatusID,
            MPChecklistServiceID,
            out dsMultiPatientSearch);
        if (!status.Status)
        {
            return(status);
        }

        //patient ids
        CDataUtils.GetDSDelimitedData(
            dsMultiPatientSearch,
            "PATIENT_ID",
            ",",
            out strPatIDs);
        strPatIDs = "," + strPatIDs;

        //pat cl ids
        CDataUtils.GetDSDelimitedData(
            dsMultiPatientSearch,
            "CHECKLIST_ID",
            ",",
            out strCLIDs);

        strCLIDs = "," + strCLIDs;

        CPatChecklistData dta  = new CPatChecklistData(Master.BaseData);
        DataSet           dsCL = null;

        status = dta.GetOutOfDatePatCLDS(
            MPEventStartDate,
            MPEventEndDate,
            MPChecklistID,
            MPChecklistStatusID,
            strPatIDs,
            strCLIDs,
            out dsCL);
        if (!status.Status)
        {
            return(status);
        }

        btnUpdateCLVersion.Enabled = (!CDataUtils.IsEmpty(dsCL)) ? true : false;
        //EnableVersionUpdate = (!CDataUtils.IsEmpty(dsCL)) ? true : false;
        upLookup.Update();

        return(new CStatus());
    }