/// <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!")); }
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); }
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!")); }
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!")); }
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.")); }