Esempio n. 1
0
        /// <summary>
        /// Creates a new appointment
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public Message AddAppointment([FromBody] JToken value)
        {
            int doctorid = 0, patientid = 0;

            int.TryParse((string)value.SelectToken("doctorid"), out doctorid);
            int.TryParse((string)value.SelectToken("patientid"), out patientid);
            if (!DoctorDAL.DoctorExists(doctorid))
            {
                return(MessageHandler.Error("Incorrect doctorid. Not authorized to update patients"));
            }
            if (!PatientDAL.PatientExist(patientid))
            {
                return(MessageHandler.Error("Incorrect patientid. Patient not found!"));
            }
            string date = (string)value.SelectToken("date");
            string time = (string)value.SelectToken("time");

            if (date == null)
            {
                return(MessageHandler.Error("Please specify a date for this appointment."));
            }
            if (time == null)
            {
                return(MessageHandler.Error("Please specify a time for this appointment."));
            }

            AppointmentDAL.InsertAppointment(doctorid, patientid, (int)StatusEnum.Success, date, time,
                                             (string)value.SelectToken("notes"));

            UserActivity.AddDoctorActivity((int)ActivityEnum.CreateAppointment, doctorid, (int)StatusEnum.Success, "Success", value.ToString());
            return(MessageHandler.Success("Appointment added!"));
        }
Esempio n. 2
0
        public List <PatientData> SearchPatientData([FromBody] JToken value)
        {
            int docId = 0;

            int.TryParse((string)value.SelectToken("doctorid"), out docId);

            if (DoctorDAL.DoctorExists(docId))
            {
                List <PatientData> patients = PatientDAL.GetPatients((string)value.SelectToken("firstname"),
                                                                     (string)value.SelectToken("lastname"),
                                                                     (string)value.SelectToken("nationalid"),
                                                                     (string)value.SelectToken("mobilenumber")
                                                                     );
                if (patients == null)
                {
                    UserActivity.AddDoctorActivity((int)ActivityEnum.PatientSearch, docId, (int)StatusEnum.Failure, "No patients found", value.ToString());
                }
                else
                {
                    UserActivity.AddDoctorActivity((int)ActivityEnum.PatientSearch, docId, (int)StatusEnum.Success, "Success", value.ToString());
                    return(patients);
                }
            }
            return(null);
        }
Esempio n. 3
0
        public List <Appointment> GetDoctorAppointments([FromBody] JToken value)
        {
            int docId = 0;

            int.TryParse((string)value.SelectToken("doctorid"), out docId);
            if (DoctorDAL.DoctorExists(docId))
            {
                UserActivity.AddDoctorActivity((int)ActivityEnum.ViewAppointments, docId, (int)StatusEnum.Success, "Success", value.ToString());
                return(AppointmentDAL.GetDoctorAppointments(docId));
            }
            return(null);
        }
 /// <summary>
 /// authenticates doctor login
 /// creates activity for successful login
 /// </summary>
 /// <param name="username"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public static LoginData DoctorAuth(string username, string password)
 {
     if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
     {
         return(new LoginData()
         {
             loggedin = false
         });
     }
     // TODO : password encryption
     try
     {
         HealtheeEntities db = new HealtheeEntities();
         var query           = (from d in db.Doctors
                                where d.Username == username &&
                                d.Password == password
                                select d);
         if (query.Count() > 0)
         {
             Doctor d = query.FirstOrDefault();
             UserActivity.AddDoctorActivity((int)ActivityEnum.DoctorLogin, d.DoctorID, (int)StatusEnum.Success, "Logged In", username);
             return(new LoginData()
             {
                 doctorid = d.DoctorID, loggedin = true
             });
         }
         else
         {
             return(new LoginData()
             {
                 loggedin = false
             });
         }
     }
     catch (Exception ex)
     {
         return(new LoginData()
         {
             loggedin = false
         });
     }
 }
        public Message Register([FromBody] JToken value)
        {
            int doctypeId = 0;

            int.TryParse((string)value.SelectToken("doctortypeid"), out doctypeId);

            string firstname  = (string)value.SelectToken("firstname");
            string lastname   = (string)value.SelectToken("lastname");
            string nationalid = (string)value.SelectToken("nationalid");
            string gender     = (string)value.SelectToken("gender");
            string username   = (string)value.SelectToken("username");
            string password   = (string)value.SelectToken("password");

            DateTime dob = DateTime.Now;

            DateTime.TryParse((string)value.SelectToken("dateofbirth"), out dob);

            if (doctypeId == 0)
            {
                return(MessageHandler.Error("Please select doctor type"));
            }
            if (firstname == null)
            {
                return(MessageHandler.Error("You must enter a first name"));
            }
            if (lastname == null)
            {
                return(MessageHandler.Error("You must enter a last name"));
            }
            if (nationalid == null)
            {
                return(MessageHandler.Error("You must enter a valid National Identification number"));
            }
            if (username == null)
            {
                return(MessageHandler.Error("You must enter a username"));
            }
            if (password == null)
            {
                return(MessageHandler.Error("You must enter a password"));
            }

            int personID = PersonDAL.InsertPerson(firstname, lastname, gender, dob, nationalid,
                                                  (string)value.SelectToken("mobilenumber"),
                                                  (string)value.SelectToken("homenumber"),
                                                  (string)value.SelectToken("worknumber"),
                                                  (string)value.SelectToken("address1"),
                                                  (string)value.SelectToken("address2"),
                                                  (string)value.SelectToken("city"),
                                                  (string)value.SelectToken("country"),
                                                  (string)value.SelectToken("email")
                                                  );

            int doctorid = DoctorDAL.InsertDoctor(personID, doctypeId, username, password);

            // Add user activity
            UserActivity.AddDoctorActivity((int)ActivityEnum.DoctorRegistration, doctorid, (int)StatusEnum.Success, "Success", value.ToString());

            // Email registration
            MailService.SendRegistrationEmail((string)value.SelectToken("email"));

            // Return success
            return(MessageHandler.Success("You have successfully registered on Healthee!"));
        }
Esempio n. 6
0
        public Message AddRecord([FromBody] JToken value)
        {
            int doctorid = 0;

            int.TryParse((string)value.SelectToken("doctorid"), out doctorid);
            if (!DoctorDAL.DoctorExists(doctorid))
            {
                return(MessageHandler.Error("Incorrect doctorid. Not authorized to add patients"));
            }

            string firstname  = (string)value.SelectToken("firstname");
            string lastname   = (string)value.SelectToken("lastname");
            string nationalid = (string)value.SelectToken("nationalid");
            string gender     = (string)value.SelectToken("gender");
            string allergies  = (string)value.SelectToken("allergies");
            string medication = (string)value.SelectToken("medication");

            DateTime dob = DateTime.MinValue;

            //if (! DateTime.TryParse((string)value.SelectToken("dateofbirth"), out dob))
            //{
            //    dob = DateTime.MinValue;
            //}

            if (firstname == null)
            {
                return(MessageHandler.Error("You must enter a first name"));
            }
            if (lastname == null)
            {
                return(MessageHandler.Error("You must enter a last name"));
            }
            if (nationalid == null)
            {
                return(MessageHandler.Error("You must enter a valid National Identification number"));
            }

            // Add person
            int personID = PersonDAL.InsertPerson(firstname, lastname, gender, dob, nationalid,
                                                  (string)value.SelectToken("mobilenumber"),
                                                  (string)value.SelectToken("homenumber"),
                                                  (string)value.SelectToken("worknumber"),
                                                  (string)value.SelectToken("address1"),
                                                  (string)value.SelectToken("address2"),
                                                  (string)value.SelectToken("city"),
                                                  (string)value.SelectToken("country"),
                                                  (string)value.SelectToken("email")
                                                  );

            // Add medical record
            int medicalRecordId = MedicalDAL.InsertMedicalRecord(allergies, medication, (string)value.SelectToken("notes"));

            // Add patient mapping
            PatientDAL.InsertPatient(personID, medicalRecordId);

            // Add activity
            UserActivity.AddDoctorActivity((int)ActivityEnum.PatientRegistratoin, doctorid, (int)StatusEnum.Success, "Success", value.ToString());

            // Email registration
            MailService.SendRegistrationEmail((string)value.SelectToken("email"));

            // return success
            return(MessageHandler.Success("You have successfully registered a new patient on Healthee!"));
        }
Esempio n. 7
0
        public Message UpdateRecord([FromBody] JToken value)
        {
            int doctorid = 0, personid = 0, medicalrecordid = 0;

            int.TryParse((string)value.SelectToken("doctorid"), out doctorid);
            int.TryParse((string)value.SelectToken("personid"), out personid);
            int.TryParse((string)value.SelectToken("medicalrecordid"), out medicalrecordid);
            if (!DoctorDAL.DoctorExists(doctorid))
            {
                return(MessageHandler.Error("Incorrect doctorid. Not authorized to update patients"));
            }
            if (!PersonDAL.PersonExist(personid))
            {
                return(MessageHandler.Error("Incorrect personid. Patient not found!"));
            }
            if (!MedicalDAL.RecordsExist(medicalrecordid))
            {
                return(MessageHandler.Error("Incorrect medicalrecordid. Records not found!"));
            }

            string firstname  = (string)value.SelectToken("firstname");
            string lastname   = (string)value.SelectToken("lastname");
            string nationalid = (string)value.SelectToken("nationalid");
            string gender     = (string)value.SelectToken("gender");
            string allergies  = (string)value.SelectToken("allergies");
            string medication = (string)value.SelectToken("medication");

            DateTime dob = DateTime.MinValue;

            //if (! DateTime.TryParse((string)value.SelectToken("dateofbirth"), out dob))
            //{
            //    dob = DateTime.MinValue;
            //}

            if (firstname == null)
            {
                return(MessageHandler.Error("You must enter a first name"));
            }
            if (lastname == null)
            {
                return(MessageHandler.Error("You must enter a last name"));
            }
            if (nationalid == null)
            {
                return(MessageHandler.Error("You must enter a valid National Identification number"));
            }

            // Update person record
            PersonDAL.UpdatePerson(personid, firstname, lastname, gender, dob, nationalid,
                                   (string)value.SelectToken("mobilenumber"),
                                   (string)value.SelectToken("homenumber"),
                                   (string)value.SelectToken("worknumber"),
                                   (string)value.SelectToken("address1"),
                                   (string)value.SelectToken("address2"),
                                   (string)value.SelectToken("city"),
                                   (string)value.SelectToken("country"),
                                   (string)value.SelectToken("email"));
            // Update medical record
            MedicalDAL.UpdateMedicalRecord(medicalrecordid,
                                           (string)value.SelectToken("allergies"),
                                           (string)value.SelectToken("medication"),
                                           (string)value.SelectToken("notes"));

            UserActivity.AddDoctorActivity((int)ActivityEnum.UpdateProfile, doctorid, (int)StatusEnum.Success, "Success", value.ToString());
            return(MessageHandler.Success("Patient records updated successfully."));
        }