Beispiel #1
0
        public override bool DocumentCloseDocument()
        {
            _DataSetOrderDetails = null;
            _DataSetClientMedicationScriptHistory = null;
            objectClientMedications = null;
            _DataSetClientSummary   = null;
            Session["DataViewClientMedicationScriptHistory"] = null;
            GridViewMedicationInstructions.Dispose();
            DataGridScriptHistory.Dispose();



            return(true);
        }
Beispiel #2
0
        /// Author Sonia
        /// <summary>
        /// This Function is used to get the Details of Medication i.e its Name,Instructions,Prescriber etc
        /// and then Bind the Controls to display the details at GUI
        /// </summary>
        private void GetMedicationOrderDetails()
        {
            try
            {
                objectClientMedications = new Streamline.UserBusinessServices.ClientMedication();


                _DataSetOrderDetails.Clear();
                _DataSetOrderDetails.EnforceConstraints = false;
                //Changes made by sonia as during testing found that OrderDetails were not being fetched properly
                //In case ScriptId is set pass ScriptId.
                //Otherwise get the Order Details as per latest records in ClientMedicationScriptDrugs

                if (Convert.ToInt32(((Streamline.BaseLayer.StreamlinePrinciple)Context.User).Client.ClientOrderDetailsMedicationScriptId.ToString()) <= 0)
                {
                    _DataSetOrderDetails.Merge(objectClientMedications.GetMedicationOrderDetails(_clientMedicationId, -1));
                }
                else
                {
                    _DataSetOrderDetails.Merge(objectClientMedications.GetMedicationOrderDetails(_clientMedicationId, Convert.ToInt32(((Streamline.BaseLayer.StreamlinePrinciple)Context.User).Client.ClientOrderDetailsMedicationScriptId.ToString())));
                }

                if (_DataSetOrderDetails.Tables.Count > 0)
                {
                    if ((_DataSetOrderDetails.Tables.Contains("DrugCategory")) && (_DataSetOrderDetails.Tables["DrugCategory"].Rows.Count > 0))
                    {
                        string _strDrugCategory = _DataSetOrderDetails.Tables["DrugCategory"].Rows[0]["Category"].ToString();
                        if (_strDrugCategory == "0")
                        {
                            HiddenFieldScriptOrderingMethod.Value = "Faxed";
                        }
                        else
                        {
                            HiddenFieldScriptOrderingMethod.Value = "Printed";
                        }
                        Session["DrugCategory"]        = _strDrugCategory;
                        Session["DataSetOrderDetails"] = _DataSetOrderDetails;
                    }

                    if (_DataSetOrderDetails.Tables.Contains("ClientMedications"))
                    {
                        if (_DataSetOrderDetails.Tables["ClientMedications"].Rows.Count > 0)
                        {
                            // customMedicationOrderDetails.MedicationNameId = Convert.ToInt32(_dataSetOrderDetails.Tables[0].Rows[0]["MedicationNameId"].ToString());
                            LabelPrescriber.Text    = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["PrescriberName"].ToString();
                            LabelDxPurpose.Text     = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DrugPurpose"].ToString();
                            TextBoxDiscontinue.Text = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DiscontinuedReason"].ToString();
                            LabelEnteredBy.Text     = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["CreatedBy"].ToString();
                            //Changed by Loveena on 06-Dec-2009 to set Date Format as MM/dd/yyyy"
                            //LabelDateCreated.Text = Convert.ToDateTime(_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["CreatedDate"].ToString()).ToShortDateString();
                            LabelDateCreated.Text    = Convert.ToDateTime(_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["CreatedDate"].ToString()).ToString("MM/dd/yyyy");
                            LabelMedicationName.Text = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["MedicationName"].ToString();
                            if (_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["Discontinued"].ToString() == "Y")
                            {
                                CheckBoxDiscontinued.Checked = true;
                                CheckBoxDiscontinued.Enabled = false;
                                ButtonUpdate.Disabled        = true;
                                TextBoxDiscontinue.ReadOnly  = true;
                                //Code added by Loveena on 27-April-2009 in ref to Task#2486 to display Discontinue Reason Code
                                //if medication gets discontinued.
                                if (_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DiscontinuedReasonCode"].ToString() != string.Empty)
                                {
                                    DropDownDiscontinueReason.SelectedValue = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DiscontinuedReasonCode"].ToString();
                                }
                            }
                            else
                            {
                                CheckBoxDiscontinued.Checked = false;
                                ////Code Adde by Pramod on 10 Apr 2008 as checkbox should be enable or disable according to permission
                                //if (((Streamline.BaseLayer.StreamlinePrinciple)Context.User).HasPermission(Permissions.NewOrder))
                                //CheckBoxDiscontinued.Enabled = true;
                                //TextBoxDiscontinue.ReadOnly = false;
                            }
                            //Added by Loveena in ref to Task#2433 to display new fields offLabel,Comments,Desired Outcome
                            // on 11-April-2009 MM-1.9.
                            TextBoxComments.Text       = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["Comments"] == DBNull.Value ? "" : _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["Comments"].ToString();
                            TextBoxDesiredOutcome.Text = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DesiredOutcomes"] == DBNull.Value ? "" : _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DesiredOutcomes"].ToString();
                            if (_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["OffLabel"].ToString() == "Y")
                            {
                                CheckBoxOffLabel.Checked = true;
                            }
                            else
                            {
                                CheckBoxOffLabel.Checked = false;
                            }
                            if (_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["DAW"].ToString() == "Y")
                            {
                                CheckBoxDAW.Checked = true;
                            }
                            else
                            {
                                CheckBoxDAW.Checked = false;
                            }
                            if (_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["VerbalOrderReadBack"].ToString() == "Y")
                            {
                                CheckBoxVORB.Checked = true;
                            }
                            else
                            {
                                CheckBoxVORB.Checked = false;
                            }
                            //Code Added by Loveena ends over here.
                            //Code added by Loveena in ref to Task#32
                            if (_DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["IncludeCommentOnPrescription"].ToString() == "Y")
                            {
                                CheckBoxIncudeOnProescription.Checked = true;
                            }
                            else
                            {
                                CheckBoxIncudeOnProescription.Checked = false;
                            }
                            //Code ends over here.
                        }
                        //---Start Code Added By Pradeep as per task#31
                        string permmitChanges = string.Empty;
                        permmitChanges = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["PermitChangesByOtherUsers"] == DBNull.Value ? "" : _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["PermitChangesByOtherUsers"].ToString();
                        if (permmitChanges.ToUpper() == "N")
                        {
                            this.CheckBoxPermitChanges.Attributes.Add("style", "display:none");
                        }
                        else
                        {
                            this.CheckBoxPermitChanges.Attributes.Add("style", "display:block");
                        }
                        //--End Code Added by Pradeep as per task#31
                        if (_DataSetOrderDetails.Tables.Contains("ClientMedicationInstructions"))
                        {
                            if (_DataSetOrderDetails.Tables["ClientMedicationInstructions"].Rows.Count > 0)
                            {
                                GridViewMedicationInstructions.DataSource = _DataSetOrderDetails.Tables["ClientMedicationInstructions"].DefaultView;
                                //GridViewMedicationInstructions.DataBind();
                                //Ref Task #67 1.6.1 - Special Instructions Changes
                                //In case of Ordered Medications and Non ordered Medications having Instructions Special Instructions should be displayed from ClientMedicationInstructions as being returned by SP from ClientMedicationScriptDrugs Table
                                //TextBoxSpecialInstructions.Text = _DataSetOrderDetails.Tables["ClientMedicationInstructions"].Rows[0]["SpecialInstructions"].ToString();
                                if (_DataSetOrderDetails.Tables["ClientMedicationInstructions"].Select("Stock > 0 or Sample > 0 ").Length > 0)
                                {
                                    ShowHidePillImage = "display:block";
                                }
                            }

                            GridViewMedicationInstructions.DataBind();
                            TextBoxSpecialInstructions.Text = _DataSetOrderDetails.Tables["ClientMedications"].Rows[0]["SpecialInstructions"].ToString();
                        }
                    }
                    //HiddenFieldScriptId added by Sonia as OrderDetails should be get both according to ClientMedicationId as well as ScriptId
                    //ScriptId should be set only in case there are more than one row in Instructions table
                    //As in Non ordered Medications Instructions can be blank.
                    if (_DataSetOrderDetails.Tables.Contains("ClientMedicationInstructions") && _DataSetOrderDetails.Tables["ClientMedicationInstructions"].Rows.Count > 0)
                    {
                        HiddenFieldScriptId.Value = _DataSetOrderDetails.Tables["ClientMedicationInstructions"].Rows[0]["ClientMedicationScriptId"].ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }