Esempio n. 1
0
        public ProLoaderQuestionnaireFormat()
        {
            this.userClient = new UserClient();
            this.userClient.Login("admin", "Welc0me!");
            this.userClient.UserHasMultipleRoles("admin");
            this.userClient.SelectRole("admin", "Administrator");

            RequestHeader header = new RequestHeader();

            header.SessionId = this.userClient.GetConfiguration.SessionId;

            this.proClient                 = new ProClient();
            this.questionnaireClient       = new QuestionnaireClient();
            this.questionnaireFormatClient = new QuestionnaireFormatClient();
            this.userQuestionnaireClient   = new PatientEpisodeClient();
            this.patientClient             = new PatientClient();

            this.questionnaireClient = new QuestionnaireClient();
            this.questionnaireClient.RequestHeader = header;

            this.questionnaireFormatClient = new QuestionnaireFormatClient();
            this.questionnaireFormatClient.RequestHeader = header;

            this.userQuestionnaireClient = new PatientEpisodeClient();
            this.userQuestionnaireClient.RequestHeader = header;
        }
Esempio n. 2
0
        public static Dictionary <Episode, Dictionary <string, List <ProDomainResultSet> > > GetProDomainResultSetForPatient(string patientId, int episodeId, out Dictionary <Episode, Dictionary <string, Dictionary <string, object> > > viewData)
        {
            ProClient proClient = new ProClient();

            viewData = new Dictionary <Episode, Dictionary <string, Dictionary <string, object> > >();

            var result = proClient.GetProDomainResults(patientId, episodeId);

            if (!result.Succeeded)
            {
                return(new Dictionary <Episode, Dictionary <string, List <ProDomainResultSet> > >());
            }
            Dictionary <Episode, Dictionary <string, List <ProDomainResultSet> > > sets = result.ProDomainResultSets;

            return(ProResults.Calculate(sets, ref viewData));
        }
Esempio n. 3
0
        public ActionResult CurrentCondition(string patientId, int?episodeId, FormCollection collection)
        {
            PatientEpisodeClient uec    = new PatientEpisodeClient();
            PatientClient        client = new PatientClient();
            var clientResult            = client.GetDetailsForPatient(patientId);

            if (!clientResult.Succeeded)
            {
                ViewBag.ErrorMessage += clientResult.ErrorMessages;
            }
            else
            {
                //uec.GetConditionQuestionnaire(episodeId);
                ProClient pro = new ProClient();

                QuestionnaireClient qc = new QuestionnaireClient();
                ViewBag.Questionnaires = qc.GetAllQuestionnairesWithTags().Questionnaires;

                var uecResult = uec.GetEpisodesWithDetailsForPatient(patientId);

                if (!uecResult.Succeeded)
                {
                    ViewBag.ErrorMessage = uecResult.ErrorMessages;
                    return(View());
                }

                uecResult.Episodes.Sort((e1, e2) =>
                {
                    if (e1.MileStones.Count == 0 && e2.MileStones.Count == 0)
                    {
                        return(0);
                    }
                    if (e1.MileStones.Count > 0 && e2.MileStones.Count == 0)
                    {
                        return(-1);
                    }
                    if (e1.MileStones.Count == 0 && e2.MileStones.Count > 0)
                    {
                        return(1);
                    }

                    DateTime e1D = e1.MileStones.OrderByDescending(e => e.MilestoneDate).First().MilestoneDate;
                    DateTime e2D = e2.MileStones.OrderByDescending(e => e.MilestoneDate).First().MilestoneDate;

                    return(e1D.CompareTo(e2D));
                });

                ViewBag.Episodes  = uecResult.Episodes;
                ViewBag.Patient   = clientResult.PatientDetails;
                ViewBag.PatientId = patientId;

                if (!episodeId.HasValue)
                {
                    episodeId       = 0;
                    ViewBag.Episode = new Episode();
                }
                else
                {
                    ViewBag.Episode = uecResult.Episodes.Where(e => e.Id == episodeId.Value).FirstOrDefault();
                }

                //if(episodeId.HasValue)
                {
                    ViewBag.EpisodeId = episodeId.Value;
                    var assignedQuestionnaires = uec.GetAssignedQuestionnairesForEpisode(episodeId.Value).AssignedQuestionnaires;
                    ViewBag.AssignedQuestionnaires = assignedQuestionnaires;
                    Dictionary <Episode, Dictionary <string, Dictionary <string, object> > > data;
                    Dictionary <Episode, Dictionary <string, List <ProDomainResultSet> > >   sets = ProResults.GetProDomainResultSetForPatient(patientId, episodeId.Value, out data);
                    ViewBag.DomainResultsSetData = data;
                    ViewBag.DomainResultsSet     = sets;
                    ViewBag.howManyColumns       = 5;
                }
            }

            return(View());
        }