Beispiel #1
0
        public ActionResult CreatePatient(PatientDetails model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                try
                {
                    PatientClient c      = new PatientClient();
                    var           result = c.CreatePatient(model.ExternalId, model.Email, model.Email, model.Title, model.FirstName, model.LastName, model.DateOfBirth.Value, model.PhoneNumber);
                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Patient", new { patientId = result.Data }));
                    }
                    else
                    {
                        ModelState.AddModelError("", result.ErrorMessages);
                    }
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "An error has occurred trying to create your account. Please try again");
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Beispiel #2
0
        public ProLoader()
        {
            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.proClient.RequestHeader = header;

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

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

            this.userQuestionnaireClient = new PatientEpisodeClient();
            this.userQuestionnaireClient.RequestHeader = header;

            this.patientClient = new PatientClient();
            this.patientClient.RequestHeader = header;

            OptionalQuestionnaireXMLItems.Add("IntroductionMessage");
        }
Beispiel #3
0
        private void AddOrUpdatePatientEventHandler(object sender, EventArgs args)
        {
            PatientClient tempPatient = this.patientSearchView.PatientDetailData.PatientData;

            bool flag = ValidatePatient(tempPatient);

            if (flag)
            {
                if (!EditClicked)
                {
                    this.patientModel.PatientList.Add(tempPatient);
                    this.patientSearchView.PatientDetailData.ClearAllData();
                }
                else
                {
                    if (this.patientSearchView.selectedPatient.ID_Patient <= 0)
                    {
                        this.patientModel.Patient = this.patientSearchView.selectedPatient;
                    }
                    for (int i = 0; i < this.patientModel.PatientList.Count; i++)
                    {
                        if (this.patientModel.PatientList[i].Equals(this.patientSearchView.selectedPatient))
                        {
                            this.patientModel.PatientList[i] = tempPatient;
                        }
                    }

                    this.patientSearchView.PatientDetailData.ClearAllData();
                    EditClicked = false;
                }
            }
        }
Beispiel #4
0
        private void GetSelectedPatient(int numberOfMethod)
        {
            int[] selectedRowHandles = this.gridView1.GetSelectedRows();
            if (selectedRowHandles.Length == 1)
            {
                PatientClient patient = gridView1.GetRow(selectedRowHandles[0]) as PatientClient;
                if (patient == null)
                {
                    MessageBox.Show("Selected patient is null");
                }
                else
                {
                    selectedPatient = patient;
                }

                if (numberOfMethod == 1)
                {
                    EditPatientEvent(this, EventArgs.Empty);
                }
                else if (numberOfMethod == 2)
                {
                    DeletePatientEvent(this, EventArgs.Empty);
                }
                else if (numberOfMethod == 3)
                {
                    PatientDataInfoForm pdiForm = new PatientDataInfoForm();
                    ShowPatientDataEvent(this, new PatientDataInfoEventArgs(pdiForm));
                    DialogResult res = pdiForm.ShowDialog();
                }
            }
            else if (selectedRowHandles.Length == 0)
            {
                MessageBox.Show("Choose the patient");
            }
        }
Beispiel #5
0
 public void OnGet(int?id)
 {
     if (id != null)
     {
         PatientClient pc = new PatientClient();
         Patient = pc.findID(id);
     }
 }
        public void ClearAllData()
        {
            patientData = new PatientClient();

            textEditIdPatient.Text = "";
            textEditLnm.Text       = "";
            textEditFnm.Text       = "";
            dateEditDOB.Text       = "";
            textEditSSN.Text       = "";
            genderLookUpEdit1.lookUpEditGender.EditValue = 0;
            buttonOK.Text = "Add";
        }
        public ActionResult OnGetDelete(int?id)
        {
            if (id != null)
            {
                /*var data = (from patient in x
                 *          where patient.ID.Equals(id)
                 *          select patient).SingleOrDefault();*/

                PatientClient pc = new PatientClient();
                pc.Delete(id);
            }
            return(RedirectToPage("AllPatient"));
        }
        void setPatientData(PatientClient patientData)
        {
            if (patientData != null)
            {
                textEditIdPatient.Text = Convert.ToString(patientData.ID_Patient);
                textEditLnm.Text       = patientData.Lastname;
                textEditFnm.Text       = patientData.Firstname;
                dateEditDOB.Text       = Convert.ToString(patientData.DOB);
                textEditSSN.Text       = patientData.SSN.ToString();

                if (patientData.Gender != null)
                {
                    DataGender = patientData.Gender;
                }
            }
        }
Beispiel #9
0
        public ActionResult OnPost()
        {
            var patient = Patient;

            if (!ModelState.IsValid)           //validate the dataanotations defined for the model
            {
                return(Page());                // return page
            }

            PatientClient pc = new PatientClient();

            pc.Create(patient);
            //  var result = _Context.Add(patient);
            //_Context.SaveChanges(); // Saving Data in database

            return(RedirectToPage("AllPatient"));
        }
Beispiel #10
0
        public ActionResult OnPost()
        {
            var patient = Patient;

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            PatientClient pc = new PatientClient();

            pc.Edit(patient);

            /*_Context.Entry(patient).Property(x => x.ID).IsModified = true;
             * _Context.SaveChanges();*/

            return(RedirectToPage("AllPatient"));
        }
        public void OnGet()
        {
            /*var data = (from patientlist in x
             *          select patientlist).ToList();*/

            PatientClient pc = new PatientClient();

            try
            {
                foreach (var x in pc.findAll())
                {
                    PatientList.Add(x);
                }
            }
            catch (System.Exception e) {
                /*EventLog.WriteEntry(ConfigurationManager.AppSettings["EventLogName"].ToString()
                 * , e.Message);*/
            }
        }
Beispiel #12
0
        public bool ValidatePatient(PatientClient patientForCheck)
        {
            List <ValidationResult> results = new List <ValidationResult>();
            ValidationContext       context = new ValidationContext(patientForCheck);
            bool flag = Validator.TryValidateObject(patientForCheck, context, results, true);

            if (!flag)
            {
                foreach (ValidationResult error in results)
                {
                    MessageBox.Show(error.ErrorMessage);
                }
            }
            else
            {
                MessageBox.Show("All data patient is OK");
            }

            return(flag);
        }
Beispiel #13
0
        public Message CreatePatientAppointment(PatientAppointment patient)
        {
            if (MessageStore.WasMessageReceived(patient.messageReference))
            {
                return new Message()
                       {
                           success = true, messageReference = DateTime.Now.ToString()
                       }
            }
            ;

            // TODO Check if message was already received
            PatientClient uc     = new PatientClient();
            var           result = uc.CreatePatient(patient.Id, patient.Email, patient.Email, patient.Title, patient.FirstName, patient.LastName, patient.DateOfBirth, patient.Mobile);

            if (result.Succeeded)
            {
                PatientEpisodeClient uec = new PatientEpisodeClient();

                var result2 = uec.AssignEpisode(result.Data, patient.BasicCondition, patient.AppointmentDate, null, patient.PractitionerId);

                if (result2.Succeeded)
                {
                    MessageStore.MessageReceived(patient.messageReference, patient.Xml, DateTime.Now);
                    return(new Message()
                    {
                        success = true
                    });
                }
                return(new Message()
                {
                    success = false, ErrorMessage = result2.ErrorMessages
                });
            }

            return(new Message()
            {
                success = false, ErrorMessage = result.ErrorMessages
            });
        }
    }
Beispiel #14
0
        public SurveyLoader()
        {
            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.questionnaireClient = new QuestionnaireClient();
            this.questionnaireClient.RequestHeader = header;

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

            this.userQuestionnaireClient = new PatientEpisodeClient();
            this.userQuestionnaireClient.RequestHeader = header;

            this.patientClient = new PatientClient();
            this.patientClient.RequestHeader = header;
        }
Beispiel #15
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());
        }
Beispiel #16
0
        public ActionResult Patient(string patientId, PatientDetails details, string externalEpisodeId, string Condition, string PractitionerId, DateTime?Date)
        {
            if (string.IsNullOrWhiteSpace(patientId))
            {
                return(RedirectToAction("SeachPatients"));
            }

            if (details != null && !string.IsNullOrWhiteSpace(details.FirstName) && !string.IsNullOrWhiteSpace(details.LastName))
            {
                details.Id = patientId;
                PatientClient pc     = new PatientClient();
                var           result = pc.SavePatientDetails(patientId, details);
                if (result.Succeeded)
                {
                    return(RedirectToAction("Patient", new { patientId = patientId }));
                }
                ViewBag.ErrorMessage = result.ErrorMessages;
            }
            else if (!string.IsNullOrWhiteSpace(Condition))
            {
                PatientEpisodeClient uec    = new PatientEpisodeClient();
                OperationResult      result = uec.AssignEpisode(patientId, Condition, Date, externalEpisodeId, PractitionerId);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Patient", new { patientId = patientId }));
                }
                ViewBag.ErrorMessage = result.ErrorMessages;
            }

            PatientClient client       = new PatientClient();
            var           clientResult = client.GetDetailsForPatient(patientId);

            if (!clientResult.Succeeded)
            {
                ViewBag.ErrorMessage += clientResult.ErrorMessages;
                return(View());
            }
            else
            {
                PatientEpisodeClient uec = new PatientEpisodeClient();
                var uecResult            = uec.GetEpisodesForPatient(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.PatientId = patientId;

                var ucClient = new UserClient();
                var ucResult = ucClient.GetPractitioners();
                ViewBag.Practitioners = ucResult.StringDictionary;
                return(View(clientResult.PatientDetails));
            }
        }
Beispiel #17
0
        /// <summary>
        /// 创建病例管理客户端
        /// </summary>
        /// <returns></returns>
        public PatientClient CreatePatientClient()
        {
            PatientClient client = new PatientClient(this);

            return(client);
        }
Beispiel #18
0
        public ActionResult SearchPatients(string action, string controller, string mandatoryFields, string FirstName, string LastName, DateTime?DateOfBirth, string Email, string PhoneNumber, string ExternalId)
        {
            PatientModel searchModel = new PatientModel()
            {
                Firstname = FirstName, LastName = LastName, DateOfBirth = DateOfBirth, Email = Email, mobileNumber = PhoneNumber, ExternalId = ExternalId
            };

            TempData["SearchModel"] = searchModel;

            bool error = false;

            if (!string.IsNullOrWhiteSpace(mandatoryFields))
            {
                string        errorMessage = string.Empty;
                List <string> mandatory    = mandatoryFields.ToLower().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
                foreach (string field in mandatory)
                {
                    switch (field)
                    {
                    case "email":
                        if (string.IsNullOrWhiteSpace(Email))
                        {
                            errorMessage += "Email is mandatory\n";
                            error         = true;
                        }

                        break;

                    case "firstname":
                        if (string.IsNullOrWhiteSpace(FirstName))
                        {
                            errorMessage += "First name is mandatory\n";
                            error         = true;
                        }

                        break;

                    case "lastname":
                        if (string.IsNullOrWhiteSpace(LastName))
                        {
                            errorMessage += "Last name is mandatory\n";
                            error         = true;
                        }

                        break;

                    case "dateofbirth":
                        if (!DateOfBirth.HasValue)
                        {
                            errorMessage += "Date of birth is mandatory\n";
                            error         = true;
                        }

                        break;

                    case "mobile":
                        if (string.IsNullOrWhiteSpace(PhoneNumber))
                        {
                            errorMessage += "PhoneNumber is mandatory\n";
                            error         = true;
                        }

                        break;
                    }
                }

                if (error)
                {
                    TempData["ErrorMessage"] = errorMessage;
                }
            }

            if (!error)
            {
                PatientClient          client = new PatientClient();
                OperationResultAsLists result = client.FindPatient(FirstName, LastName, DateOfBirth, Email, PhoneNumber, ExternalId);

                if (!result.Succeeded)
                {
                    TempData["ErrorMessage"] = result.ErrorMessages;
                }
                else
                {
                    List <PatientModel> data = new List <PatientModel>();
                    foreach (var u in result.Patients)
                    {
                        data.Add(new PatientModel()
                        {
                            Id = u.Id, Firstname = u.FirstName, LastName = u.LastName, Email = u.Email, DateOfBirth = u.DateOfBirth, mobileNumber = u.PhoneNumber, ExternalId = u.ExternalId
                        });
                    }

                    TempData["Patients"] = data;
                }
            }

            return(RedirectToAction(action, controller));
        }
 public PatientDetail()
 {
     InitializeComponent();
     patientData = new PatientClient();
     //dateEditDOB.EditValue = DateTime.Now;
 }
Beispiel #20
0
 private void GetRelativesOfPatientFromModel(PatientClient ptnt)
 {
     patientModel.GetRelativesOfPatient(ptnt);
 }