Exemplo n.º 1
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string strID = Request.QueryString["drug-id"];
            long drug_id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out drug_id))
            {
                RedirectHash("admin/drugs/drugs/list");
                return;
            }

            drug = new Lib.Data.Drug(drug_id);

            strID = Request.QueryString["id"];
            long id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
                item = new Lib.Data.DrugFormulation();
            else
                item = new Lib.Data.DrugFormulation(id);

            Companies = Lib.Data.DrugCompany.FindAll();
            Formulations = Lib.Data.Formulation.FindAll();

            autocomplete_formulations = "";

            foreach (var f in Formulations)
            {
                if (!string.IsNullOrEmpty(autocomplete_formulations))
                    autocomplete_formulations += "\",\"";
                autocomplete_formulations += f.Name.Replace("\"", "\\\"");
            }

            autocomplete_formulations = "[\"" + autocomplete_formulations + "\"]";
        }
Exemplo n.º 2
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string strID = Request.QueryString["id"];
            long id;
            if( string.IsNullOrEmpty( strID ) || !long.TryParse( strID, out id ) )
            {
                item = new Lib.Data.Drug();
                version = new Lib.Data.DrugVersion();
            }
            else
            {
                item = new Lib.Data.Drug( id );
                version = Lib.Data.DrugVersion.FindLatestByDrug( item );
            }

            SectionIndex = -1;

            strID = Request.QueryString["section-id"];
            if (!string.IsNullOrEmpty(strID) && long.TryParse(strID, out id))
            {
                var sections = Lib.Data.DSQ.Section.FindAll();

                for (int i = 0; i < sections.Count; i++)
                {
                    if (sections[i].ID == id)
                    {
                        SectionIndex = i;
                        break;
                    }
                }
            }
        }
Exemplo n.º 3
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string strID = Request.QueryString["id"];
            long id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
                item = new Lib.Data.DrugLink();
            else
                item = new Lib.Data.DrugLink(id);

            strID = Request.QueryString["drug-id"];
            if (!string.IsNullOrEmpty(strID) && long.TryParse(strID, out id))
                Drug = new Lib.Data.Drug(id);
            else
                base.RedirectHash("admin/drugs/drugs/list", true, "No drug selected to add a link to.");

            LinkTypes = new List<string>();
            LinkTypes.Add("Medication Guide");
            LinkTypes.Add("Patient Informed Consent");
            LinkTypes.Add("Patient Counseling Document");
            LinkTypes.Add("Appropriate Use Checklist");
            LinkTypes.Add("Certification");
            LinkTypes.Add("Patient Enrollment");
            LinkTypes.Add("Pharmacy Information");
            LinkTypes.Add("Prescriber Enrollment");
            LinkTypes.Add("Facility Enrollment");
            LinkTypes.Add("Clinical Information");
        }
Exemplo n.º 4
0
        public GeneralInfoView()
            : base()
        {
            string strID = System.Web.HttpContext.Current.Request.QueryString["id"];
            long id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
                item = new Lib.Data.Drug();
            else
                item = new Lib.Data.Drug(id);

            TheSystem = new Lib.Data.DrugSystem(item.SystemID);
            Formulations = Lib.Data.DrugFormulation.FindByDrug(item);
            Versions = (from v in Lib.Data.DrugVersion.FindByDrug( item )
                        where v.Status == "Approved"
                        orderby v.Updated descending
                        select v).ToList();

            var profile = Lib.Systems.Security.GetCurrentProfile();
            UserType = profile.UserType.Name;
            if( UserType == "prescriber" )
                UserEocs = Lib.Data.UserEoc.FindByUserandDrug( profile.ID.Value, item.ID.Value );
            else if( UserType == "provider" )
            {
                var facilities = Lib.Data.ProviderFacility.FindAllByProviderUser( Lib.Systems.Security.GetCurrentProviderUser() );
                if( facilities != null && facilities.Count > 0 )
                    FacilityEocs = Lib.Data.FacilityEoc.FindByFacilityandDrug( facilities[0].ID.Value, item.ID.Value );
            }
        }
Exemplo n.º 5
0
 protected void Page_Init(object sender, EventArgs e)
 {
     int id;
     if( string.IsNullOrEmpty(Request.QueryString["id"]) || !int.TryParse(Request.QueryString["id"], out id ) )
         RedirectHash("admin/drugs/drugs/list");
     else
         item = new Lib.Data.Drug(id);
 }
Exemplo n.º 6
0
 protected void Page_Init(object sender, EventArgs e)
 {
     string strID = Request.QueryString["id"];
     long id;
     if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
         item = new Lib.Data.Drug();
     else
         item = new Lib.Data.Drug(id);
 }
Exemplo n.º 7
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string strID = Request.QueryString["id"];
            long id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
                item = new Lib.Data.Drug();
            else
                item = new Lib.Data.Drug(id);

            Companies = Lib.Data.DrugCompany.FindAll();
            Systems = Lib.Data.DrugSystem.FindAll();
            Links = Lib.Data.DrugLink.FindByDrug(item);
        }
Exemplo n.º 8
0
        public GeneralInfo()
            : base()
        {
            string strID = System.Web.HttpContext.Current.Request.QueryString["id"];
            long id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
                item = new Lib.Data.Drug();
            else
                item = new Lib.Data.Drug(id);

            Systems = Lib.Data.DrugSystem.FindAll();
            Formulations = Lib.Data.DrugFormulation.FindByDrug(item);
            Versions = (from v in Lib.Data.DrugVersion.FindByDrug( item )
                        orderby v.Updated descending
                        select v).ToList();
        }
Exemplo n.º 9
0
        public static ReturnObject AddDrugToList(HttpContext context, long id)
        {
            // MJL - It doesn't appear that this is used?
            IDrugListService dlService = ObjectFactory.GetInstance<IDrugListService>();

            Framework.Security.User user = Framework.Security.Manager.GetUser();
            var profile = Data.UserProfile.FindByUser(user);

            List<string> roles = new List<string>();

            if(Framework.Security.Manager.HasRole("view_prescriber"))
                roles.Add("view_prescriber");

            if(Framework.Security.Manager.HasRole("view_provider"))
                roles.Add("view_provider");

            if (profile != null && profile.ID != null)
            {
                Lib.Data.Drug drug = new Lib.Data.Drug(id);
                Lib.Data.Prescriber prescriber = Lib.Data.Prescriber.FindByProfile(profile);

                dlService.AddDrugToDrugListByProfileId(profile.ID.Value, roles, id, DrugListType.MyDrugs);

                if(drug != null && prescriber != null)
                    Systems.PrescriberUpdate.DrugAdded(prescriber, drug);
            }

            return new ReturnObject()
            {
                Growl = new ReturnGrowlObject()
                {
                    Type = "default",
                    Vars = new ReturnGrowlVarsObject()
                    {
                        text = "Your changes have been saved.",
                        title = "Drug Added to Drug List"
                    }
                }
            };
        }
Exemplo n.º 10
0
        protected override void RenderContents(HtmlTextWriter writer)
        {
            if (DrugID == null)
            {
                long id;
                if( long.TryParse(Page.Request["drugid"], out id) ||
                    long.TryParse(Page.Request["drug_id"], out id) ||
                    long.TryParse(Page.Request["drug-id"], out id) ||
                    long.TryParse(Page.Request["id"], out id) )
                    DrugID = id;
            }

            Drug = new Data.Drug( DrugID.Value );

            writer.AddAttribute("class", "dsq-accordion");
            writer.RenderBeginTag("section");

            foreach (var s in Lib.Data.DSQ.Section.FindAll())
                RenderSection(writer, s);

            writer.RenderEndTag();
        }
Exemplo n.º 11
0
        public static ReturnObject Delete(HttpContext context, long id)
        {
            if (id <= 0)
                return new ReturnObject() { Error = true, Message = "Invalid Drug." };

            var item = new Lib.Data.Drug(id);
            item.Delete();

            return new ReturnObject()
            {
                Growl = new ReturnGrowlObject()
                {
                    Type = "default",
                    Vars = new ReturnGrowlVarsObject()
                    {
                        text = "You have successfully deleted a drug.",
                        title = "Drug Deleted"
                    }
                },
                Actions = new List<ReturnActionObject>()
                {
                    new ReturnActionObject() {
                        Ele = ".admin-drugs-list tr[data-id=\""+id.ToString()+"\"]",
                        Type = "remove"
                    }
                }
            };
        }
Exemplo n.º 12
0
        public static ReturnObject RemoveDrugFromList(HttpContext context, long id)
        {
            IDrugListService dlService = ObjectFactory.GetInstance<IDrugListService>();

            Framework.Security.User user = Framework.Security.Manager.GetUser();
            var profile = Data.UserProfile.FindByUser(user);

            if (profile != null && profile.ID != null)
            {
                Lib.Data.Drug drug = new Lib.Data.Drug(id);
                Lib.Data.Prescriber prescriber = Lib.Data.Prescriber.FindByProfile(profile);

                dlService.RemoveDrugFromDrugListByProfileId(profile.ID.Value, id, DrugListType.MyDrugs);

                if(drug != null && prescriber != null)
                    Systems.PrescriberUpdate.DrugRemoved(prescriber, drug);
            }

            return new ReturnObject()
            {
                Growl = new ReturnGrowlObject()
                {
                    Type = "default",
                    Vars = new ReturnGrowlVarsObject()
                    {
                        text = "Your changes have been saved.",
                        title = "Drug Removed from Drug List"
                    }
                }
            };
        }
Exemplo n.º 13
0
        protected void RenderQuestion_LinkList( HtmlTextWriter writer, Lib.Data.DSQ.Question q, string a = null, bool pending_changes = false, bool for_eoc = false )
        {
            IDsqService dsqService = ObjectFactory.GetInstance<IDsqService>();
            IComplianceService complianceService = ObjectFactory.GetInstance<IComplianceService>();

            if( for_eoc )
            {
                writer.AddAttribute( "data-parent-id", q.ID.Value.ToString() );
                writer.AddAttribute( "data-parent-checks", "Required|Optional" );
            }
            else if (q.ParentID.HasValue)
            {
                writer.AddAttribute("data-parent-id", q.ParentID.Value.ToString());
                writer.AddAttribute("data-parent-checks", q.ParentChecks);
            }

            writer.AddAttribute("data-id", q.ID.Value.ToString() + ((for_eoc) ? "-ll" : "" ));
            string cssClass = "clearfix form-row form-padding dsq-links-table-holder";
            if (pending_changes)
                cssClass += " pending-changes";
            writer.AddAttribute("class", cssClass);
            writer.RenderBeginTag("div");
            {
                writer.AddAttribute("href", "#admin/dsq/link?drug-id=" + this.DrugID + "&question-id=" + q.ID.Value);
                writer.AddAttribute("class", "button");
                writer.AddStyleAttribute("float", "right");
                writer.AddStyleAttribute("margin-top", "10px");
                writer.AddStyleAttribute("margin-right", "10px");
                writer.RenderBeginTag("a");
                {
                    writer.WriteEncodedText("Add Item");
                }
                writer.RenderEndTag();

                writer.RenderBeginTag("h2");
                    writer.AddAttribute("class", "edit-question-button");
                    writer.AddAttribute("data-id", q.ID.Value.ToString());
                    writer.RenderBeginTag("span");
                    writer.WriteEncodedText("Edit");
                    writer.RenderEndTag();

                    writer.RenderBeginTag("span");
                    writer.WriteEncodedText((for_eoc ? "Information" : q.Text));
                    writer.RenderEndTag();
                writer.RenderEndTag();

                writer.AddAttribute("id", "form-q-" + q.ID.Value);
                writer.AddAttribute("class", "display dsq-links-table");
                writer.RenderBeginTag("table");
                {
                    writer.RenderBeginTag("thead");
                    {
                        writer.RenderBeginTag("tr");
                        {
                            writer.RenderBeginTag("th");
                            writer.RenderEndTag();

                            writer.RenderBeginTag("th");
                            {
                                writer.WriteEncodedText("Label");
                            }
                            writer.RenderEndTag();

                            writer.RenderBeginTag( "th" );
                            {
                                writer.WriteEncodedText( "Updated" );
                            }
                            writer.RenderEndTag();

                            writer.RenderBeginTag("th");
                            {
                                writer.WriteEncodedText("EOC");
                            }
                            writer.RenderEndTag();

                            writer.RenderBeginTag("th");
                            {
                                writer.WriteEncodedText("Required");
                            }
                            writer.RenderEndTag();

                            writer.RenderBeginTag("th");
                            {
                                writer.WriteEncodedText("Prerequisite");
                            }
                            writer.RenderEndTag();
                        }
                        writer.RenderEndTag();
                    }
                    writer.RenderEndTag();

                    writer.RenderBeginTag("tbody");
                    {
                        var d = new Lib.Data.Drug(this.DrugID);

                        if (d.ID.HasValue && d.ID.Value == this.DrugID)
                        {
                            var links = Lib.Data.DSQ.Link.FindByDrug(d, q);

                            foreach (var link in links)
                            {
                                var info = dsqService.GetLink(link.ID ?? 0);
                                var eoc = link.HasEoc
                                    ? complianceService.GetEoc(info.EocId)
                                    : null;

                                writer.AddAttribute("data-id", link.ID.Value.ToString());
                                writer.RenderBeginTag("tr");
                                {
                                    writer.RenderBeginTag("td");
                                    {
                                        writer.AddAttribute("href", "#admin/dsq/link?id=" + link.ID.Value + "&drug-id=" + this.DrugID + "&question-id=" + q.ID.Value);
                                        writer.AddAttribute("class", "button");
                                        writer.RenderBeginTag("a");
                                        {
                                            writer.WriteEncodedText("Edit");
                                        }
                                        writer.RenderEndTag();

                                        writer.WriteEncodedText(" ");

                                        writer.AddAttribute("href", "/api/Dev/DSQ/Link/Delete?id=" + link.ID.Value);
                                        writer.AddAttribute("class", "ajax-button button");
                                        writer.AddAttribute("data-confirmtext", "Are you sure you want to delete this item?");
                                        writer.RenderBeginTag("a");
                                        {
                                            writer.WriteEncodedText("Delete");
                                        }
                                        writer.RenderEndTag();
                                    }
                                    writer.RenderEndTag();

                                    writer.RenderBeginTag("td");
                                    {
                                        writer.WriteEncodedText(link.Label);
                                    }
                                    writer.RenderEndTag();

                                    writer.RenderBeginTag( "td" );
                                    {
                                        if( link.Date.HasValue )
                                            writer.WriteEncodedText( link.Date.Value.ToShortDateString() );
                                    }
                                    writer.RenderEndTag();

                                    writer.RenderBeginTag("td");
                                    {
                                        if(link.HasEoc)
                                            writer.WriteEncodedText(eoc.Name);
                                    }
                                    writer.RenderEndTag();

                                    writer.RenderBeginTag("td");
                                    {
                                        writer.WriteEncodedText(link.IsRequired? "Yes" : "No");
                                    }
                                    writer.RenderEndTag();

                                    writer.RenderBeginTag("td");
                                    {
                                        writer.WriteEncodedText(info.HasPrereq? "Yes" : "No");
                                    }
                                    writer.RenderEndTag();
                                }
                                writer.RenderEndTag();
                            }
                        }
                    }
                    writer.RenderEndTag();
                }
                writer.RenderEndTag();
            }
            writer.RenderEndTag();
        }