public async static void GetMongo() { PatientRepository rep = new PatientRepository(new NoSql.Mongo.MongoDbContext()); var x = rep.GetAll(); /* await rep.InsertRange(new List<NoSql.Mongo.Patient> { new NoSql.Mongo.Patient { Name = "Yeasin", Ailments = new List<NoSql.Mongo.Ailment> { new NoSql.Mongo.Ailment { Name = "Yeasin Ailments" } }, Medications = new List<NoSql.Mongo.Medication> { new NoSql.Mongo.Medication { Name = "Yeasin Medication", Dosess = 10 } } }, new NoSql.Mongo.Patient { Name = "Shakil", Ailments = new List<NoSql.Mongo.Ailment> { new NoSql.Mongo.Ailment { Name = "Shakil Ailments" } }, Medications = new List<NoSql.Mongo.Medication> { new NoSql.Mongo.Medication { Name = "Shakil Medications", Dosess = 20 } } }, new NoSql.Mongo.Patient { Name = "Nishan", Ailments = new List<NoSql.Mongo.Ailment> { new NoSql.Mongo.Ailment { Name = "Nishan"} }, Medications = new List<NoSql.Mongo.Medication> { new NoSql.Mongo.Medication { Name = "Nishan Medications ", Dosess = 40 } } } });*/ }
public void A_ChangedPatient_modifies_Existing_Patient_in_the_database() { var bootStrapper = new BootStrapper(); bootStrapper.StartServices(); var serviceEvents = bootStrapper.GetService<IServiceEvents>(); //1.- Create message var aggr = GenerateRandomAggregate(); //2.- Create the tuple in the database var repository = new PatientRepository(_configuration.TestServer); repository.Insert(aggr); //3.- Change the aggregate aggr.SapCode = StringExtension.RandomString(); aggr.Person.Phone1 = StringExtension.RandomString(3); aggr.Person.PersonLocation.First().LocationId = Guid.NewGuid(); aggr.User.RegistrationCode = StringExtension.RandomString(5); //4.- Emit message var message = GenerateMessage(aggr); message.MessageType = typeof(ChangedPatient).Name; serviceEvents.AddIncommingEvent(new IncommingEvent { @event = message }); //5.- Load the saved country var service = repository.Get(aggr.Id); //6.- Check equality Assert.True(ObjectExtension.AreEqual(aggr, service)); }
public void Handle_GivenValidPatientInfo_ReturnsPatientDtoThatWasSavedInDB() { var patientRepository = new PatientRepository ( SessionProvider ); var patientFactory = new PatientFactory(patientRepository, new PatientUniqueIdentifierGenerator()); var dtoToDomainMappingHelper = new DtoToDomainMappingHelper ( new LookupValueRepository ( SessionProvider ) ); var handler = new CreateNewPatientRequestHandler(dtoToDomainMappingHelper, patientFactory) { SessionProvider = SessionProvider }; // When you do Agatha Request Handler testing, always declare the request as the base class type Agatha.Common.Request Request request = new CreateNewPatientRequest { AgencyKey = SafeHarborAgency.Key, BirthDate = new DateTime ( 1983, 8, 29 ), FirstName = "John", Gender = new LookupValueDto { WellKnownName = MaleGender.WellKnownName, Key = MaleGender.Key, Name = MaleGender.Name }, LastName = "Smith", MiddleName = "Middle" }; var response = handler.Handle ( request ) as CreateNewPatientResponse; Assert.IsTrue ( response.PatientDto.Key > 0 ); }
private void PatientRepositoryCanGetAPatient() { var patientRep = new PatientRepository(); var pat = PatientService.GetPatientByPid("1234567"); Assert.IsTrue(pat.Id != Guid.Empty); Assert.IsTrue(pat.Pid == "1234567"); }
public void CanGetAllPatients() { var repo = new PatientRepository(); var patients = repo.GetAll(); Assert.AreNotEqual(0, patients.Count); }
public void Setup() { _nhibernateFixture = new NHibernateFixture(); var sessionProviderMock = new Mock<ISessionProvider>(); sessionProviderMock.Setup(x => x.GetSession()).Returns(_nhibernateFixture.Session); _sut = new PatientRepository(sessionProviderMock.Object); }
private void PatientRepositoryPatientExistsCanInsertAPatient() { var patientRep = new PatientRepository(); var pat = Patient.NewPatient(); pat.Pid = "1234567"; patientRep.SaveOrUpdate(pat); Assert.IsTrue(pat.Id != Guid.Empty); Assert.IsTrue(pat.Pid != ""); }
public void NoResultOnNonExistingPatient() { //Arrange Patient patient = new Patient() {Id = 5, PatientNumber = 25}; Mock<IDataStorage> dataStorage = new Mock<IDataStorage>(); dataStorage.Setup(ds => ds.GetData<Patient>()).Returns(new List<Patient> {patient}); PatientRepository repository = new PatientRepository(dataStorage.Object); //Act Patient result = repository.GetPatientByUniqueNumber(27); //Assert Assert.That(result, Is.Null); }
public void CorrectSinglePatient() { //Arrange Patient patient = new Patient() {Id = 5, PatientNumber = 25}; Mock<IDataStorage> dataStorage = new Mock<IDataStorage>(); dataStorage.Setup(ds => ds.GetData<Patient>()).Returns(new List<Patient> {patient}); PatientRepository repository = new PatientRepository(dataStorage.Object); //Act Patient result = repository.GetPatientByUniqueNumber(25); //Assert Assert.That(result, Is.Not.Null); Assert.That(result.Id, Is.EqualTo(patient.Id)); }
public void CanAddNewPatient() { var repo = new PatientRepository(); var patient = new Patient { Address = new Address { Street1 = "123 Main Street", City = "Accra", Region = "Greater Accra", //Country = "Ghana", IsActive = true }, //Allergies = new List<Allergy> {new Allergy {Name = "Peanut Butter"}}, DateOfBirth = new DateTime(1980, 03, 17), //BloodType = "O+", Gender = Gender.Male, FirstName = "Matthew", MiddleName = "Scott", LastName = "Kimber", EmergencyContact = new EmergencyContact { FirstName = "Jan", LastName = "Kimber", PhoneNumber = "801-479-1717", Relationship = Relationship.Mother, Address = new Address { Street1 = "1288 E. 4790 N.", City = "Ogden", Region = "Utah", //Country = "USA" } }, PhoneNumber = "801-726-8585" //Religion = "Muslim", //TribeRace = "Anglo-Saxon" }; repo.Add(patient); UnitOfWork.CurrentSession.Flush(); UnitOfWork.CurrentSession.Clear(); repo.Get(100002); }
public void A_RegisteredPatient_creates_a_new_Patient_in_the_database() { var bootStrapper = new BootStrapper(); bootStrapper.StartServices(); var serviceEvents = bootStrapper.GetService<IServiceEvents>(); //1.- Create message var aggr = GenerateRandomAggregate(); var message = GenerateMessage(aggr); //2.- Emit message serviceEvents.AddIncommingEvent(new IncommingEvent { @event = message }); //3.- Load the saved country var repository = new PatientRepository(_configuration.TestServer); var service = repository.Get(aggr.Id); //4.- Check equality Assert.True(ObjectExtension.AreEqual(aggr, service)); }
public void Handle_GivenInValidPatientInfo_ThrowsException() { var patientRepository = new PatientRepository ( SessionProvider ); var patientFactory = new PatientFactory(patientRepository, new PatientUniqueIdentifierGenerator()); var dtoToDomainMappingHelper = new DtoToDomainMappingHelper ( new LookupValueRepository ( SessionProvider ) ); var handler = new CreateNewPatientRequestHandler ( dtoToDomainMappingHelper, patientFactory ) { SessionProvider = SessionProvider }; // When you do Agatha Request Handler testing, always declare the request as the base class type Agatha.Common.Request Request request = new CreateNewPatientRequest { AgencyKey = SafeHarborAgency.Key }; handler.Handle ( request ); }
/// <summary> /// Get the list of active checkins. /// </summary> /// <returns>A Json object containing the list of active checkins.</returns> public JsonResult ActiveCheckIns() { try { PatientRepository patientRepo = new PatientRepository(); string department = Request.Form["loc"]; var myLocation = new Location(); myLocation.Department = department; var list = patientRepo.FindByLocation(myLocation); //var resultList = from test in list select test; var bob = new List<object>(); foreach (var patient in list) { bob.Add(new {Name=patient.LastName +", " + patient.FirstName, ID=patient.Id }); } return Json(new { error = "false", status = "Successfully.", //loc.Department //list //resultList bob }); //return Json(list); } catch (Exception ex) { return Json(new { error = "true", status = "Didnt work" }); } }
public void A_UnregisteredPatient_removes_Existing_Patient_in_the_database() { var bootStrapper = new BootStrapper(); bootStrapper.StartServices(); var serviceEvents = bootStrapper.GetService<IServiceEvents>(); //1.- Create message var aggr = GenerateRandomAggregate(); //2.- Create the tuple in the database var repository = new PatientRepository(_configuration.TestServer); repository.Insert(aggr); //2.- Emit message var message = GenerateMessage(aggr); message.MessageType = typeof(UnregisteredPatient).Name; serviceEvents.AddIncommingEvent(new IncommingEvent { @event = message }); var service = repository.Get(aggr.Id); Assert.Null(service); }
public void TwoPatients_TwoDoctors_TwoClinics() { //Arrange int clinic1Id = 13, clinic2Id = 23, doctor1Id = 33, doctor2Id = 43, pat1Id = 53, pat2Id = 63; var patient1 = CreatePatient(clinic1Id, doctor1Id, pat1Id); var patient2 = CreatePatient(clinic2Id, doctor2Id, pat2Id); Mock <IDataStorage> dataStorage = new Mock <IDataStorage>(); dataStorage.Setup(ds => ds.GetData <Patient>()).Returns(new List <Patient> { patient1, patient2 }); PatientRepository repository = new PatientRepository(dataStorage.Object); //Act var result = repository.GetHappinessChangeData(); //Assert Assert.That(result, Is.Not.Null); Assert.That(result.Count, Is.EqualTo(2)); AssertHappinessChangeData(result[0], clinic1Id, doctor1Id, pat1Id); AssertHappinessChangeData(result[1], clinic2Id, doctor2Id, pat2Id); }
public ActionResult Index(IndexVM model) { model.Pager = model.Pager ?? new PagerVM(); model.Pager.Page = model.Pager.Page <= 0 ? 1 : model.Pager.Page; model.Pager.ItemsPerPage = model.Pager.ItemsPerPage <= 0 ? 10 : model.Pager.ItemsPerPage; model.Filter = model.Filter ?? new FilterVM(); model.Filter.PatientId = model.PatientId; Expression <Func <PatientDiagnosis, bool> > filter = model.Filter.GenerateFilter(); PatientDiagnosisRepository repo = new PatientDiagnosisRepository(); model.Items = repo.GetAll(filter, model.Pager.Page, model.Pager.ItemsPerPage); model.Pager.PagesCount = (int)Math.Ceiling(repo.Count(filter) / (double)(model.Pager.ItemsPerPage)); PatientRepository contactsRepo = new PatientRepository(); model.Patient = contactsRepo.GetById(model.PatientId); return(View(model)); }
public SitesViewModel(VMS.TPS.Common.Model.API.Application vapp, PatientRepository patientRepository, SiteRepository siteRepository, int filterlevel) { if (patientRepository == null) { throw new ArgumentNullException("paientRepository"); } if (siteRepository == null) { throw new ArgumentNullException("siteRepository"); } base.DisplayName = Strings.SitesViewModel_DisplayName; _patientRepository = patientRepository; _siteRepository = siteRepository; _vapp = vapp; _filterlevel = filterlevel; _dictpatients = new Dictionary <string, List <MPatient> >(); // Populate the AllSites collection with SiteViewModels. this.CreateSites(); }
public void InsertMethod(FileUploadDBModel model, int PatientId) { PatientFile fileUpload = new PatientFile(); PatientRepository pr = new PatientRepository(); //add loop for multiple file upload at same time using (var Filerepo = new UploadRepository()) { var name = pr.GetAll().Find(x => x.PatientId == PatientId); foreach (var item in model.File) { byte[] uploadfile = new byte[item.InputStream.Length]; item.InputStream.Read(uploadfile, 0, uploadfile.Length); fileUpload.FileName = item.FileName; fileUpload.File = uploadfile; fileUpload.PatientId = PatientId; fileUpload.patientName = name.FullName + " " + name.Surname; Filerepo.Insert(fileUpload); } } }
public async Task TestGetByIdArgumentInvalid() { // Arrange var patients = GeneratePatientEntityList(); var mockDbSet = patients.AsQueryable().BuildMockDbSet(); var mockContext = new Mock <DemographicsDbContext>(); mockContext .Setup(x => x.Set <Patient>()) .Returns(mockDbSet.Object) .Verifiable(); var repository = new PatientRepository(mockContext.Object); // Act var result = await repository.GetById(666); // Assert Assert.Null(result); }
/// <summary> /// Add allergy to the current patient /// </summary> /// <returns></returns> public JsonResult AddAllergyToPatient() { try { int patientId = int.Parse(Request.Form["PatientId"]); int allergyId = int.Parse(Request.Form["AllergyId"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientId); PatientAllergyRepository patientAllergyRepo = new PatientAllergyRepository(); AllergyRepository allergyRepo = new AllergyRepository(); PatientAllergy pallergy = new PatientAllergy(); pallergy.Allergy = allergyRepo.Get(allergyId); pallergy.Patient = patient; patientAllergyRepo.Add(pallergy); return Json(new { error = "false", status = "Added patient allergy successfully", ID = pallergy.Id, Name = pallergy.Allergy.Name }); } catch (Exception e) { return Json(new { error = "true", status = "Unable to add patient allergy!", errorMessage = e.Message }); } }
public App() { var doctorRepository = new DoctorRepository( new CSVStream <Doctor>(DOCTOR_FILE, new DoctorCSVConverter(CSV_DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var patientRepository = new PatientRepository( new CSVStream <Patient>(PATIENT_FILE, new PatientCSVConverter(CSV_DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var roomRepository = new RoomRepository( new CSVStream <Room>(ROOM_FILE, new RoomCSVConverter(CSV_DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var appointementRepository = new AppointementRepository( new CSVStream <Appointement>(APPOINTEMENT_FILE, new AppointementCSVConverter(CSV_DELIMITER, DATETIME_FORMAT)), new LongSequencer(), doctorRepository, patientRepository, roomRepository); var secretaryRepository = new SecretaryRepository( new CSVStream <Secretary>(SECRETARY_FILE, new SecretaryCSVConverter(CSV_DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var feedbackRepository = new FeedbackRepository( new CSVStream <Feedback>(FEEDBACK_FILE, new FeedbackCSVConverter(CSV_DELIMITER, DATETIME_FORMAT)), new LongSequencer()); var doctorService = new DoctorService(doctorRepository); var patientService = new PatientService(patientRepository); var roomService = new RoomService(roomRepository); var appointementService = new AppointementService(appointementRepository); var secretaryService = new SecretaryService(secretaryRepository); var feedbackService = new FeedbackService(feedbackRepository); DoctorController = new DoctorController(doctorService); PatientController = new PatientController(patientService); RoomController = new RoomController(roomService); AppointementController = new AppointementController(appointementService); SecretaryController = new SecretaryController(secretaryService); FeedbackController = new FeedbackController(feedbackService); }
public JsonResult AddUpdatePharmacy(PatientPharmacy_Custom pharmacy) { ApiResultModel apiresult = new ApiResultModel(); try { if (pharmacy.pharmacy == null || pharmacy.pharmacy == "" || !Regex.IsMatch(pharmacy.pharmacy, "^[0-9a-zA-Z ]+$")) { apiresult.message = "Invalid pharmacy name.Only letters and numbers are allowed."; return(Json(new { Success = true, ApiResultModel = apiresult })); } else { PatientRepository objRepo = new PatientRepository(); apiresult = objRepo.AddPharmacy(pharmacy); return(Json(new { Success = true, ApiResultModel = apiresult })); } } catch (Exception ex) { return(Json(new { Message = ex.Message })); } }
public async void GetPatientsAsync_CountMatchesAndContainsEquivalentObjects() { //Arrange var dbOptions = new DbContextOptionsBuilder <LabDbContext>() .UseInMemoryDatabase(databaseName: $"PatientDb{Guid.NewGuid()}") .Options; var sieveOptions = Options.Create(new SieveOptions()); var fakePatientOne = new FakePatient { }.Generate(); var fakePatientTwo = new FakePatient { }.Generate(); var fakePatientThree = new FakePatient { }.Generate(); //Act using (var context = new LabDbContext(dbOptions)) { context.Patients.AddRange(fakePatientOne, fakePatientTwo, fakePatientThree); context.SaveChanges(); var service = new PatientRepository(context, new SieveProcessor(sieveOptions)); var patientRepo = await service.GetPatientsAsync(new PatientParametersDto()); //Assert patientRepo.Should() .NotBeEmpty() .And.HaveCount(3); patientRepo.Should().ContainEquivalentOf(fakePatientOne); patientRepo.Should().ContainEquivalentOf(fakePatientTwo); patientRepo.Should().ContainEquivalentOf(fakePatientThree); context.Database.EnsureDeleted(); } }
public PatientModel GETdeleteMethod(int id) { PatientModel rm = new PatientModel(); using (var parepo = new PatientRepository()) { if (id != 0) { Patient _patient = parepo.GetById(id); rm.userId = _patient.PatientId; rm.Email = _patient.Email; rm.FullName = _patient.FullName; rm.Surname = _patient.Surname; rm.Age = _patient.Age; rm.Title = _patient.Title; rm.MaritalStatus = _patient.MaritalStatus; rm.DOB = _patient.DOB; rm.Sex = _patient.Sex; rm.Address1 = _patient.Address1; rm.Address2 = _patient.Address2; rm.Address3 = _patient.Address3; rm.PostalCode = _patient.PostalCode; rm.Telephone = _patient.Telephone; rm.Employer = _patient.Employer; rm.EmployerTelephone = _patient.EmployerTelephone; rm.Occupation = _patient.Occupation; rm.NationalId = _patient.NationalId; rm.Status = _patient.Status; rm.PatientAllergy = _patient.PatientAllergy; rm.MedicalAidName = _patient.MedicalAidName; rm.MedicalAidNo = _patient.MedicalAidNo; } return(rm); } }
public Visit AddAdverseEventVisit(int patientId) { var patient = PatientRepository.GetByKey(patientId); if (patient == null) { return(null); } var existingVisits = VisitRepository.GetVisitsForPatient(patientId); var maxVisitOrderNo = existingVisits.Max(v => v.OrderNo); var adverseEventsCount = existingVisits.Count(v => v.VisitType == VisitType.AdverseEventVisit); var caption = "Adverse Event"; if (adverseEventsCount > 0) { caption = string.Format("{0} {1}", caption, adverseEventsCount + 1); } var aeVisit = new Visit { Caption = caption, ExpectedVisitDate = null, VisitDate = DateTime.Today.Date, OrderNo = maxVisitOrderNo + 1, VisitType = VisitType.AdverseEventVisit, Patient = patient }; VisitRepository.Add(aeVisit); patient.Visits.Add(aeVisit); AddAdverseEventForm(aeVisit); VisitRepository.Save(); return(aeVisit); }
public void Setup() { // Normally I would trust the EF doing the right job // and I'll mock most these repositories var dbFactory = new DbFactory(); _nokRepo = new Repository<NextOfKin>(dbFactory); _gpRepo = new Repository<GpDetails>(dbFactory); _patientRepo = new PatientRepository(dbFactory, _gpRepo); _interviewRepository = new PatientInterviewRepository(dbFactory, _patientRepo); var patientSchema = InterviewReader.GetSchemaFromResources(typeof(XmlInterview).Assembly, XmlPatientsXSDResourcePath); var settings = InterviewReader.CreateSchemaSettings(patientSchema); XmlInterview interviews; using (var fileStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(XmlPatientsPath)) { interviews = InterviewReader.DeserializeXmlInterview(fileStream, settings); } _xmlInterview = interviews.ToPatientInterview(); _gpForTest = _xmlInterview.Patients.First().GpDetails; _interviewRepository.Save(_xmlInterview); }
public async Task TestGetAll() { // Arrange var patients = GeneratePatientEntityList(); var mockDbSet = patients.AsQueryable().BuildMockDbSet(); var mockContext = new Mock <DemographicsDbContext>(); mockContext .Setup(x => x.Set <Patient>()) .Returns(mockDbSet.Object) .Verifiable(); var repository = new PatientRepository(mockContext.Object); // Act var result = await repository.GetAll(); // Assert Assert.NotNull(result); Assert.Equal(5, result.Count()); Assert.IsAssignableFrom <IEnumerable <Patient> >(result); }
public ActionResult Register(RegisterVM model) { if (!ModelState.IsValid) { return(View(model)); } if (model.AccountType.ToString() == "Doctor") { DoctorRepository repo = new DoctorRepository(); if (repo.GetAll().FirstOrDefault(m => m.Username == model.Username) != null) { ModelState.AddModelError("RegistrationFailed", "Username already exists"); return(View(model)); } Doctor item = new Doctor(); item.Username = model.Username; item.Password = model.Password; item.FirstName = model.FirstName; item.LastName = model.LastName; item.AccountType = model.AccountType.ToString(); repo.Insert(item); } else { PatientRepository repo = new PatientRepository(); Patient item = new Patient(); item.Username = model.Username; item.Password = model.Password; item.FirstName = model.FirstName; item.LastName = model.LastName; item.AccountType = model.AccountType.ToString(); repo.Insert(item); } return(RedirectToAction("Index", "Home")); }
public void FindById_Should_ReturnEntityAfterBeingSaved() { // Arrange InitializeDatabase(); var entity = new Patient(); Patient entityFromDatabase; // Act using (var repository = new PatientRepository()) { entity.Name = "Test"; entity.DateAdded = new DateTime(2012, 2, 1); entity.AdmitDate = new DateTime(2012, 2, 2); repository.Save(entity); } using (var repository = new PatientRepository()) { entityFromDatabase = repository.FindById(entity.Id); } // Assert Assert.Equal(entity.Id, entityFromDatabase.Id); }
public static void Main() { //Get a reference to the data store var patients = new PatientRepository(); Console.WriteLine("Multiple record search"); var results = patients.FindPatients ( p => p.LastName == "Doe" ); foreach (var p in results) { Console.WriteLine(p); } Console.WriteLine("Single record search"); var singleResult = patients.FindPatient ( p => p.UserID == 1 ); Console.WriteLine(singleResult); }
public PatientScreen GetPatientData() { // get the Patient list entity from the database. PatientRepository patientRepository = new PatientRepository(); List <PatientEntity> list = patientRepository.LoadList(null); // map patientEntity to patient data model. if (list == null) { return(null); } PatientScreen patientScreen = new PatientScreen(); foreach (PatientEntity entity in list) { Patient patient = new Patient(); patient.PatientID = entity.ID.ToString(); patient.Location = entity.ORName; patient.Disposition = entity.Disposition; patient.SurgeonName = $"{entity.SurgeonFirstName},{entity.SurgeonLastName}"; patient.Anesthologist = $"{entity.AnestFirstName},{entity.AnestLastName}"; patient.Procedure = entity.ProcedureName; patient.StartTime = entity.StartTime.ToString("HH:mm"); patient.Status = entity.Status; patient.Consent = ImageRender(entity.ConsentStatus); patient.HP = ImageRender(entity.HPstatus); patient.XRay = ImageRender(entity.XRayStatus); patient.Lab = ImageRender(entity.LabsStatus); patient.EKG = ImageRender(entity.EKGStatus); patientScreen.Add(patient); } return(patientScreen); }
public PatientService(PatientRepository patientRepository) { }
public PatientService(IDbConnection connection) { _patientRepository = new PatientRepository(connection); _listRepository = new ListRepository(connection); _visitRepository = new VisitRepository(connection); }
public void Test1() { IPatientRepository repository = new PatientRepository(_context); repository.InsertPatient(new Patient() { Name = "Patient Name 1", Description = "Test Description 1", Diagnosis = "Test diagnosis 1", DateAdmitted = DateTime.Now, Vaccines = new List <Vaccine>() { new Vaccine() { Type = VaccineType.ARV, Dose1Required = true, Dose1TargetDate = DateTime.Now.AddDays(5), Dose2Required = true, Dose2TargetDate = DateTime.Now.AddDays(21), } } }); repository.InsertPatient(new Patient() { Name = "Patient Name 2", Description = "Test Description 2", Diagnosis = "Test diagnosis 2", DateAdmitted = DateTime.Now, Vaccines = new List <Vaccine>() { new Vaccine() { Type = VaccineType.ARV, Dose1Required = true, Dose1TargetDate = DateTime.Now.AddDays(1), Dose2Required = true, Dose2TargetDate = DateTime.Now.AddDays(2), }, new Vaccine() { Type = VaccineType.FiveInOne, Dose1Required = true, Dose1TargetDate = DateTime.Now.AddDays(1), Dose2Required = true, Dose2TargetDate = DateTime.Now.AddDays(21), } } }); repository.InsertPatient(new Patient() { Name = "Patient Name 3", Description = "Test Description 3", Diagnosis = "Test diagnosis 3", DateAdmitted = DateTime.Now, Vaccines = new List <Vaccine>() { new Vaccine() { Type = VaccineType.ARV, Dose1Required = true, Dose1TargetDate = DateTime.Now.AddDays(7), Dose2Required = true, Dose2TargetDate = DateTime.Now.AddDays(21), } } }); var dueVaccines = repository.GetAllDueVaccines(); }
public PatientService(PatientRepository patientRepository, MedicalRecordRepository medicalRecordRepository) { _patientRepository = patientRepository; _medicalRecordRepository = medicalRecordRepository; _userValidation = new UserValidation(); }
public PatientBAL() { Repository = new PatientRepository <Patient>(); }
public void InitializeTests() { _fakePatientRepository = new FakePatientRepository(); _patientRepository = new PatientRepository(); }
/// <summary> /// Initializes a new instance of the <see cref="PatientController" /> class. /// </summary> public PatientController() { this.pr = new PatientRepository(); }
public void InsertSaveBooking(Schedule m, int d) { string nat = new PatientRepository().GetById(d).NationalId; using (var bookpro = new BookingRepository()) { Booking _b = bookpro.GetAll().Last(x => x.PatientID.Equals(nat)); _b.Time_start = m.start_date; _b.Time_end = m.end_date; _b.bookingStatus = "Booked"; bookpro.Update(_b); } var p = new PatientRepository().GetAll().Find(x => x.PatientId == d); using (var emailrepo = new EmailRepository()) { List <MailAddress> l = new List <MailAddress>(); MailMessage mail = new MailMessage(); mail.To.Add(new MailAddress(p.Email)); mail.From = new MailAddress("*****@*****.**"); mail.CC.Add(new MailAddress("*****@*****.**")); mail.Bcc.Add(new MailAddress("*****@*****.**")); mail.Subject = "Appointment with the Doctor"; string Body = "Dear " + p.FullName + " we are glad to inform you that your appointment to see the doctor has been schedule on the " + m.start_date.Substring(0, 10) + " from " + m.start_date.Substring(10) + " to " + m.end_date.Substring(10); mail.Body = Body; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); #region configurations is in the web.config // smtp.Host = "localhost";//"smtp.live.com"; //// smtp.Host = "smtp.live.com"; // smtp.Port = 25; //587; // // smtp.Port=587; #endregion smtp.Host = "smtp.sendgrid.net"; smtp.Port = 2525; smtp.UseDefaultCredentials = false; smtp.EnableSsl = true; smtp.Credentials = new System.Net.NetworkCredential("bigiayomide", "123adenike");// enter seders user name and password smtp.Send(mail); Email_services _email = new Email_services { emailID = 0, To = p.Email, //Cc = "*****@*****.**", //Bcc = "*****@*****.**", Subject = "Appointment with the Doctor", StaffName = "sam", Body = Body }; emailrepo.Create(_email); } }
/// <summary> /// Add output to the feed chart /// </summary> /// <returns></returns> public JsonResult AddOutput() { try { int patientId = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientId); //Get current open patient checkin var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); //Create new intake chart object and add appropriate parameters OutputChart outputchart = new OutputChart(); outputchart.PatientCheckIn = openCheckIn; outputchart.ChartTime = DateTime.Now; string ngAmount = Request.Form["ngAmount"]; outputchart.NGSuctionAmount = ngAmount; string ngColor = Request.Form["ngColor"]; outputchart.NGSuctionColor = ngColor; string urineAmount = Request.Form["urineAmount"]; outputchart.UrineAmount = urineAmount; string stoolAmount = Request.Form["stoolAmount"]; outputchart.StoolAmount = stoolAmount; string stoolColor = Request.Form["stoolColor"]; outputchart.StoolColor = stoolColor; //Add new output object to patient openCheckIn.OutputChart.Add(outputchart); //Return results as JSON return Json(new { error = "false", status = "Successfully added chart.", Date = outputchart.ChartTime.ToString("dd/MM/yyyy HH:mm:ss"), outputchart.NGSuctionAmount, outputchart.NGSuctionColor, outputchart.UrineAmount, outputchart.StoolAmount, outputchart.StoolColor }); } catch (Exception e) { return Json(new { error = "true", status = "Unable to add intake chart successfully", errorMessage = e.Message }); } }
public JsonResult AddNote() { try { PatientRepository patientRepo = new PatientRepository(); UserRepository userRepo = new UserRepository(); User staff = new User(); if (Request.Form["StaffId"] != "") staff = userRepo.Get(int.Parse(Request.Form["StaffId"])); Patient patient = patientRepo.Get(int.Parse(Request.Form["PatientId"])); Note note = new Note(); var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); note.Author = staff; note.DateCreated = DateTime.Now; note.Body = Request.Form["NoteBody"]; //HttpUtility.UrlDecode(Request.Form["NoteBody"], System.Text.Encoding.Default); note.PatientCheckIns = openCheckIn; note.Title = ""; note.Type = NoteType.General; note.IsActive = true; openCheckIn.Notes.Add(note); if (Request.Form["TemplateTitle"] != null && Request.Form["TemplateTitle"] != "") { TemplateRepository templateRepo = new TemplateRepository(); NoteTemplateRepository noteRepo = new NoteTemplateRepository(); NoteTemplateCategory noteCat = noteRepo.Get(1); Template template = new Template(); template.Title = Request.Form["TemplateTitle"]; template.Staff = staff; template.Body = note.Body; template.IsActive = true; template.NoteTemplateCategory = noteCat; templateRepo.Add(template); return Json(new { templateId = template.Id, templateTitle = template.Title, NoteBody = note.Body, error = "false" }); } return Json(new { NoteBody = note.Body, error = "false" }); } catch { return Json(new { error = "true" }); } }
/// <summary> /// Get list of visits with each visits details /// </summary> /// <returns></returns> public JsonResult SearchVisitList() { try { int patientID = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientID); int checkInID = int.Parse(Request.Form["checkInID"]); var query = from checkin in patient.PatientCheckIns where checkin.Id == checkInID select checkin; var resultSet = new List<object>(); var jsonResult = new JsonResult(); foreach (var result in query) { IList<object> visitList = new List<object>(); foreach (var vitals in result.Vitals) { visitList.Add(new { Time = vitals.Time.ToString("dd/MM/yyyy HH:mm:ss"), //vitals.Type, type = Enum.GetName(typeof(VitalsType), vitals.Type), Height = vitals.Height, Weight = vitals.Weight, Temperature = vitals.Temperature, HeartRate = vitals.HeartRate, BpDiastolic = vitals.BloodPressure.Diastolic, BpSystolic = vitals.BloodPressure.Systolic, RespiratoryRate = vitals.RespiratoryRate }); } IList<object> feedList = new List<object>(); foreach (var a in result.FeedChart) { feedList.Add(new { Time = a.FeedTime.ToString("dd/MM/yyyy HH:mm:ss"), Type = a.FeedType, AmountOffered = a.AmountOffered, AmountTaken = a.AmountTaken, Vomit = a.Vomit, Urine = a.Urine, Stool = a.Stool, Comments = a.Comments }); } IList<object> outputList = new List<object>(); foreach (var b in result.OutputChart) { outputList.Add(new { Time = b.ChartTime.ToString("dd/MM/yyyy HH:mm:ss"), b.NGSuctionAmount, b.NGSuctionColor, b.UrineAmount, b.StoolAmount, b.StoolColor }); } IList<object> intakeList = new List<object>(); foreach (var c in result.IntakeChart) { intakeList.Add(new { Time = c.ChartTime.ToString("dd/MM/yyyy HH:mm:ss"), c.ChartTime, c.KindOfFluid, c.Amount }); } IList<object> noteList = new List<object>(); foreach (var g in result.Notes.Where(g => g.Type == NoteType.General)) { noteList.Add(new { g.Body, g.Author.FirstName, g.Author.LastName }); } IList<object> noteSurgeryList = new List<object>(); foreach (var g in result.Notes.Where(g => g.Type == NoteType.Surgery)) { noteSurgeryList.Add(new { g.Body }); } IList<object> surgery = new List<object>(); foreach (var o in result.Surgeries) { surgery.Add(new { StartTime = o.StartTime.ToString("dd/MM/yyyy HH:mm:ss"), EndTime = o.EndTime.ToString("dd/MM/yyyy HH:mm:ss"), CaseType = Enum.GetName(typeof(CaseType), o.CaseType), Staff = GetStaff(o) }); } resultSet.Add(new { date = result.CheckInTime.ToString("dd/MM/yyyy HH:mm:ss"), firstName = result.AttendingStaff.FirstName, lastName = result.AttendingStaff.LastName, Vitals = visitList, FeedChart = feedList, OutputChart = outputList, IntakeChart = intakeList, Note = noteList, SurgeryNote = noteSurgeryList, Surgery = surgery }); } jsonResult.Data = resultSet; return jsonResult; } catch (Exception e) { return Json(new { error = "true", status = "Unable to fetch list successfully" //errorMessage = e.Message }); } }
/// <summary> /// Add medication to patient /// </summary> /// <returns></returns> public JsonResult AddMedicationToPatient() { try { PatientRepository repo = new PatientRepository(); Patient patient = repo.Get(int.Parse(Request.Form["patientID"])); PatientMedicationRepositiry pmr = new PatientMedicationRepositiry(); MedicationRepository medRepo = new MedicationRepository(); PatientMedication pMed = new PatientMedication(); pMed.Medication = medRepo.Get(int.Parse(Request.Form["name"])); pMed.Instruction = Request.Form["instructions"]; pMed.StartDate = DateTime.Now; pMed.ExpDate = DateTime.Parse(Request.Form["expDate"]); pMed.Administration = (MedicationRouteOfAdministrationType)Enum.Parse(typeof(MedicationRouteOfAdministrationType), Request.Form["route"]); pMed.Dose = Request.Form["dose"]; pMed.Frequency = Request.Form["frequency"]; pMed.Patient = patient; pmr.Add(pMed); return Json(new { error = "false", id = pMed.Medication.Id, name = pMed.Medication.Name, dose = pMed.Dose, frequency = pMed.Frequency, route = Enum.GetName(typeof(OpenEhs.Domain.MedicationRouteOfAdministrationType), pMed.Administration), instructions = pMed.Instruction, startDate = pMed.StartDate.ToString("dd/MM/yyyy"), expDate = pMed.ExpDate.ToString("dd/MM/yyyy") }); } catch (Exception e) { return Json(new { error = "true", status = "Unable to add medication to patient", errorMessage = e.Message }); } }
/// <summary> /// Add new feed to the feed chart /// </summary> /// <returns></returns> public JsonResult AddFeed() { try { int patientId = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientId); //Get current open patient checkin var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); //Create new feed chart object and add appropriate parameters FeedChart feedchart = new FeedChart(); feedchart.PatientCheckIn = openCheckIn; feedchart.FeedTime = DateTime.Now; string feedType = Request.Form["feedType"]; feedchart.FeedType = feedType; string amountOffered = Request.Form["amountOffered"]; feedchart.AmountOffered = amountOffered; string amountTaken = Request.Form["amountTaken"]; feedchart.AmountTaken = amountTaken; string vomit = Request.Form["vomit"]; feedchart.Vomit = vomit; string urine = Request.Form["urine"]; feedchart.Urine = urine; string stool = Request.Form["stool"]; feedchart.Stool = stool; string comments = Request.Form["comments"]; feedchart.Comments = comments; //Add new feed chart object to patient openCheckIn.FeedChart.Add(feedchart); //Return results as JSON return Json(new { error = "false", status = "Successfully added chart.", Date = feedchart.FeedTime.ToString("dd/MM/yyyy HH:mm:ss"), feedchart.FeedType, feedchart.AmountOffered, feedchart.AmountTaken, feedchart.Vomit, feedchart.Urine, feedchart.Stool, feedchart.Comments }); } catch (Exception e) { return Json(new { error = "true", status = "Unable to add feed chart successfully", errorMessage = e.Message }); } }
public PatientServices(PatientRepository patientRepository) { this._patientRepository = new PatientRepository(); }
/// <summary> /// Search patient visits between a time range to get history /// </summary> /// <returns></returns> public JsonResult SearchVisit() { int patientID = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientID); DateTime fromDate = DateTime.Parse(Request.Form["from"]); DateTime toDate = DateTime.Parse(Request.Form["to"]); var query = from checkin in patient.PatientCheckIns where checkin.CheckInTime >= fromDate && checkin.CheckInTime <= toDate select checkin; var resultSet = new List<object>(); var jsonResult = new JsonResult(); foreach (var result in query) { IList<object> vitalsList = new List<object>(); resultSet.Add(new { date = result.CheckInTime.ToString("dd/MM/yyyy HH:mm:ss") }); } jsonResult.Data = resultSet; return jsonResult; }
/// <summary> /// Initializes a new instance of the <see cref="PatientController" /> class. /// </summary> /// <param name="pr">The PatientReposity to use.</param> public PatientController(PatientRepository pr) { this.pr = pr; }
/// <summary> /// Check in a patient /// </summary> /// <returns></returns> public JsonResult AddCheckIn() { try { //Get patient object int patientID = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientID); //Get Staff Object int staffId = int.Parse(Request.Form["staffID"]); UserRepository userRepo = new UserRepository(); var staff = userRepo.Get(staffId); //Get Location Object int locationId = int.Parse(Request.Form["locationID"]); LocationRepository locationRepo = new LocationRepository(); var location = locationRepo.Get(locationId); //Build Check In Object PatientCheckIn checkin = new PatientCheckIn(); checkin.Patient = patient; checkin.CheckInTime = DateTime.Now; checkin.PatientType = (PatientCheckinType)Enum.Parse(typeof(PatientCheckinType), Request.Form["patientType"]); checkin.AttendingStaff = staff; checkin.Location = location; checkin.IsActive = true; //Build Invoice Object Invoice invoice = new Invoice(); invoice.PatientCheckIn = checkin; checkin.Invoice = invoice; patient.PatientCheckIns.Add(checkin); new InvoiceRepository().Add(invoice); return Json(new { error = "false" }); } catch (Exception e) { return Json(new { error = "true", status = e.Message }); } }
public void CleanupTests() { _patientRepository = null; _patientsController = null; }
/// <summary> /// Check out a patient /// </summary> /// <returns></returns> public JsonResult CheckOut() { try { int patientId = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientId); var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn checkIn = query.First<PatientCheckIn>(); var surgeryQuery = from surgery in checkIn.Surgeries where surgery.EndTime == DateTime.MinValue select surgery; if (surgeryQuery.Count<Surgery>() > 0) { Surgery openSurgery = surgeryQuery.First<Surgery>(); openSurgery.EndTime = DateTime.Now; } return Json(new { error = "false" }); } catch (Exception e) { return Json(new { error = "true", status = e.Message }); } }
bool isValidGroup(mzk_mmtgroupcode mmtgroupcode, string patientguid) { bool ret = false; int patientGender = 0; DateTime patientBirthDate; AgeHelper ageHelper = new AgeHelper(DateTime.Now); Patient patient = new Patient(); PatientRepository patientRepo = new PatientRepository(); patient = new Patient().getPatientDetails(patientguid).Result; patientBirthDate = patient.dateOfBirth; patientGender = patient.genderValue; if (mmtgroupcode.mzk_FilteronGender.HasValue) { if (mmtgroupcode.mzk_FilteronGender.Value) { if (patientGender == mmtgroupcode.mzk_Gender.Value) { ret = true; } else { ret = false; } } else { ret = true; } } else { ret = true; } if (ret) { if (mmtgroupcode.mzk_FilteronAge.HasValue) { if (mmtgroupcode.mzk_FilteronAge.Value) { if (mmtgroupcode.mzk_AgeValidationId != null) { if (ageHelper.isAgeMatched(patientBirthDate, (Helper.Enum.DayWeekMthYr)((OptionSetValue)((AliasedValue)mmtgroupcode.Attributes["AgeValidation.mzk_agefromunit"]).Value).Value, (int)((AliasedValue)mmtgroupcode.Attributes["AgeValidation.mzk_agefromvalue"]).Value, (Helper.Enum.DayWeekMthYr)((OptionSetValue)((AliasedValue)mmtgroupcode.Attributes["AgeValidation.mzk_agetounit"]).Value).Value, (int)((AliasedValue)mmtgroupcode.Attributes["AgeValidation.mzk_agetovalue"]).Value)) { ret = true; } else { ret = false; } } } else { ret = true; } } else { ret = true; } } return(ret); }
public WeightService(WeightRepository repository, AlarmRepository alarmRepository, PatientRepository patientRepository, MessageRepository messageRepository, IUnitWork unitWork, IOptions <MyOptions> optionsAccessor) { _repository = repository; _alarmRepository = alarmRepository; _patientRepository = patientRepository; _messageRepository = messageRepository; _unitWork = unitWork; _optionsAccessor = optionsAccessor.Value; }
public JsonResult AddSurgery() { try { //Repositories PatientRepository patientRepo = new PatientRepository(); UserRepository userRepo = new UserRepository(); LocationRepository locationRepo = new LocationRepository(); SurgeryStaffRepository ssRepo = new SurgeryStaffRepository(); //Build new objects Surgery surgery = new Surgery(); Note note = new Note(); //Get patient object int patientID = int.Parse(Request.Form["patientID"]); Patient patient = patientRepo.Get(patientID); //Get current open patient checkin var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); surgery.Location = locationRepo.Get(int.Parse(Request.Form["theatreNumber"])); surgery.StartTime = DateTime.Parse(Request.Form["startTime"]); surgery.EndTime = DateTime.Parse(Request.Form["endTime"]); //Add to checkin openCheckIn.Surgeries.Add(surgery); surgery.CheckIn = openCheckIn; surgery.CaseType = (CaseType)Enum.Parse(typeof(CaseType), Request.Form["caseType"]); //Build Note User author = userRepo.Get(int.Parse(Request.Form["staffID"])); note.Author = author; note.Body = Request.Form["NoteBody"]; note.PatientCheckIns = openCheckIn; note.Title = ""; note.Type = NoteType.Surgery; note.IsActive = true; note.DateCreated = DateTime.Now; openCheckIn.Notes.Add(note); UnitOfWork.CurrentSession.Flush(); //Surgeon if (Request.Form["surgeon"] != "") { SurgeryStaff surgeon = new SurgeryStaff(); surgeon.Staff = userRepo.Get(int.Parse(Request.Form["surgeon"])); surgeon.Surgery = surgery; surgeon.Role = StaffRole.Surgeon; ssRepo.Add(surgeon); } //Surgeon Assistant if (Request.Form["surgeonAssistant"] != "") { SurgeryStaff surgeonAssistant = new SurgeryStaff(); surgeonAssistant.Staff = userRepo.Get(int.Parse(Request.Form["surgeonAssistant"])); surgeonAssistant.Surgery = surgery; surgeonAssistant.Role = StaffRole.SurgeonAssistant; ssRepo.Add(surgeonAssistant); } //Anaesthetist if (Request.Form["anaesthetist"] != "") { SurgeryStaff anaesthetist = new SurgeryStaff(); anaesthetist.Staff = userRepo.Get(int.Parse(Request.Form["anaesthetist"])); anaesthetist.Role = StaffRole.Anaesthetist; anaesthetist.Surgery = surgery; ssRepo.Add(anaesthetist); } //Anaesthetist Assistant if (Request.Form["anaesthetistAssistant"] != "") { SurgeryStaff anaesthetistAssistant = new SurgeryStaff(); anaesthetistAssistant.Staff = userRepo.Get(int.Parse(Request.Form["anaesthetistAssistant"])); anaesthetistAssistant.Role = StaffRole.AnaesthetistAssistant; anaesthetistAssistant.Surgery = surgery; ssRepo.Add(anaesthetistAssistant); } //Nurse if (Request.Form["nurse"] != "") { SurgeryStaff nurse = new SurgeryStaff(); nurse.Staff = userRepo.Get(int.Parse(Request.Form["nurse"])); nurse.Role = StaffRole.Nurse; nurse.Surgery = surgery; ssRepo.Add(nurse); } //Consultant if (Request.Form["consultant"] != "") { SurgeryStaff consultant = new SurgeryStaff(); consultant.Staff = userRepo.Get(int.Parse(Request.Form["consultant"])); consultant.Role = StaffRole.Consultant; consultant.Surgery = surgery; ssRepo.Add(consultant); } //Save Template if (Request.Form["NoteTitle"] != null) { TemplateRepository templateRepo = new TemplateRepository(); NoteTemplateRepository noteRepo = new NoteTemplateRepository(); NoteTemplateCategory noteCat = noteRepo.Get(2); Template template = new Template(); template.Title = Request.Form["NoteTitle"]; template.Staff = author; template.Body = note.Body; template.IsActive = true; template.NoteTemplateCategory = noteCat; templateRepo.Add(template); return Json(new { Id = template.Id, Name = template.Title, NoteBody = note.Body, error = "false" }); } return Json(new { error = "false" }); } catch (Exception e) { return Json(new { error = "true", status = e.Message }); } }
/// <summary> /// Add new immunization to patient /// </summary> /// <returns></returns> public JsonResult AddImmunizationToPatient() { try { int patientId = int.Parse(Request.Form["patientID"]); int immunizationId = int.Parse(Request.Form["vaccineType"]); DateTime dateAdministered = DateTime.Parse(Request.Form["dateAdministered"]); PatientRepository repo = new PatientRepository(); var patient = repo.Get(patientId); PatientImmunizationRepository patientImmunRepo = new PatientImmunizationRepository(); ImmunizationRepository immunRepo = new ImmunizationRepository(); PatientImmunization pImmunization = new PatientImmunization(); pImmunization.Immunization = immunRepo.Get(immunizationId); pImmunization.Patient = patient; pImmunization.DateAdministered = dateAdministered; patientImmunRepo.Add(pImmunization); //UnitOfWork.CurrentSession.Flush(); return Json(new { error = "false", status = "Added immunization: " + pImmunization.Immunization.VaccineType + " to patient successfully", immunization = pImmunization.Immunization.VaccineType, dateAdmin = pImmunization.DateAdministered.ToString("dd/MM/yyyy"), id = pImmunization.Id }); } catch (Exception e) { return Json(new { error = "true", status = "Unable to add immunization successfully", errorMessage = e.Message }); } }
public Patient GetOne(int PatientId) { var bookpro = new PatientRepository(); return(bookpro.GetById(PatientId)); }
/// <summary> /// Add vitals to patient /// </summary> /// <returns></returns> public JsonResult AddVital() { try { //Get current patient object int patientID = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientID); //Get current open patient checkin var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); //Create new vitals object and add appropriate parameters Vitals vitals = new Vitals(); vitals.PatientCheckIn = openCheckIn; if (Request.Form["height"] != "") vitals.Height = double.Parse(Request.Form["height"]); if (Request.Form["weight"] != "") vitals.Weight = double.Parse(Request.Form["weight"]); BloodPressure bp = new BloodPressure(); if (Request.Form["BpDiastolic"] != "" && Request.Form["BpSystolic"] != "") { bp.Diastolic = int.Parse(Request.Form["BpDiastolic"]); bp.Systolic = int.Parse(Request.Form["BpSystolic"]); } vitals.BloodPressure = bp; if (Request.Form["HeartRate"] != "") vitals.HeartRate = int.Parse(Request.Form["HeartRate"]); if (Request.Form["RespiratoryRate"] != "") vitals.RespiratoryRate = int.Parse(Request.Form["RespiratoryRate"]); if (Request.Form["Temperature"] != "") vitals.Temperature = float.Parse(Request.Form["Temperature"]); vitals.Type = (VitalsType)Enum.Parse(typeof(VitalsType), Request.Form["type"]); vitals.Time = DateTime.Parse(Request.Form["Date"] + " " + Request.Form["Time"]); vitals.IsActive = true; //Add new vitals object to patient openCheckIn.Vitals.Add(vitals); //Return results as JSON return Json(new { error = "false", status = "Successfully added vital.", date = vitals.Time.ToString("MM/dd/yyyy HH:mm:ss"), height = vitals.Height, weight = vitals.Weight, bpDiastolic = vitals.BloodPressure.Diastolic, bpSystolic = vitals.BloodPressure.Systolic, heartRate = vitals.HeartRate, respiratoryRate = vitals.RespiratoryRate, temperature = vitals.Temperature, type = Enum.GetName(typeof(VitalsType), vitals.Type) }); } catch (Exception e) { return Json(new { error = "true", status = e.Message }); } }
/// <summary> /// Add intake to feed chart /// </summary> /// <returns></returns> public JsonResult AddIntake() { try { int patientId = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientId); //Get current open patient checkin var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); //Create new intake chart object and add appropriate parameters IntakeChart intakechart = new IntakeChart(); intakechart.PatientCheckIn = openCheckIn; intakechart.ChartTime = DateTime.Now; string kindoffluid = Request.Form["kindoffluid"]; intakechart.KindOfFluid = kindoffluid; string amount = Request.Form["amount"]; intakechart.Amount = amount; //Add new intake object to patient openCheckIn.IntakeChart.Add(intakechart); //Return results as JSON return Json(new { error = "false", status = "Successfully added chart.", Date = intakechart.ChartTime.ToString("dd/MM/yyyy HH:mm:ss"), intakechart.KindOfFluid, intakechart.Amount }); } catch (Exception e) { return Json(new { error = "true", status = "Unable to add intake chart successfully", errorMessage = e.Message }); } }
/// <summary> /// Get suggestions for patient search autocomplete /// </summary> /// <param name="term">search term</param> /// <returns></returns> public JsonResult AutoCompleteSuggestions(string term) { List<string> suggestions = new List<string>(); try { //Parse the DOB to English (en) Great Britain (GB) format 'DD/MM/YYYY' for Ghana DateTime dob = DateTime.Parse(term, new CultureInfo("en-GB")); IList<Patient> dobPatients = new PatientRepository().FindByDateOfBirth(dob); //Find any patients with this DOB foreach (Patient patient in dobPatients) { suggestions.Add(string.Format("[{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString())); } } catch (Exception e) { } try { IList<Patient> dobPatients = new PatientRepository().FindByDateOfBirthPiece(term); //Find any patients with this DOB foreach (Patient patient in dobPatients) { suggestions.Add(string.Format("[{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString())); } } catch (Exception e) { } try { //Find any patients with this Phone Number IList<Patient> phonePatients = new PatientRepository().FindByPhoneNumber(term); foreach (Patient patient in phonePatients) { string phoneNo = string.Format("{0} {1} {2}", patient.PhoneNumber.Substring(0, 3), patient.PhoneNumber.Substring(3, 3), patient.PhoneNumber.Substring(6, 4)); suggestions.Add(string.Format("{5} - [{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString(), phoneNo)); } } catch (Exception e) { } try { //Find any patients with a matching ID IList<Patient> idPatients = new PatientRepository().FindByPatientIdPiece(term); foreach (Patient patient in idPatients) { suggestions.Add(string.Format("[{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString())); } } catch (Exception e) { } try { //Find any patients with a matching ID IList<Patient> physicalIdPatients = new PatientRepository().FindByOldPhysicalRecord(term); foreach (Patient patient in physicalIdPatients) { suggestions.Add(string.Format("{5} - [{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString(), patient.OldPhysicalRecordNumber)); } } catch (Exception e) { } try { //Find any patients with a matching name IList<Patient> firstNamePatients = new PatientRepository().FindByFirstName(term); foreach (Patient patient in firstNamePatients) { suggestions.Add(string.Format("[{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString())); } } catch (Exception e) { } try { IList<Patient> middleNamePatients = new PatientRepository().FindByMiddleName(term); foreach (Patient patient in middleNamePatients) { suggestions.Add(string.Format("[{0}] {1}, {2} {3} ({4})", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString())); } } catch (Exception e) { } try { IList<Patient> lastNamePatients = new PatientRepository().FindByLastName(term); foreach (Patient patient in lastNamePatients) { suggestions.Add(string.Format("[{0}] - {1}, {2} {3} - {4}", patient.Id, patient.LastName, patient.FirstName, patient.MiddleName, patient.DateOfBirth.ToShortDateString())); } } catch (Exception e) { } return Json(suggestions, JsonRequestBehavior.AllowGet); }
/// <summary> /// Initialises all the private variables /// </summary> public PatientManager() { patientRepository = new PatientRepository(); }
/// <summary> /// Add an item to the patient's invoice. /// </summary> /// <returns>The Jason object so it can be immediately displayed.</returns> public JsonResult AddInvoiceItem() { try { //Build Line Item objects InvoiceItem lineItem = new InvoiceItem(); //Get patient object int patientID = int.Parse(Request.Form["patientID"]); PatientRepository patientRepo = new PatientRepository(); var patient = patientRepo.Get(patientID); //Get current open patient checkin var query = from checkin in patient.PatientCheckIns where checkin.CheckOutTime == DateTime.MinValue select checkin; PatientCheckIn openCheckIn = query.First<PatientCheckIn>(); //Invoice Repository InvoiceRepository invoiceRepo = new InvoiceRepository(); //Product Repository ProductRepository productRepo = new ProductRepository(); //Service Repository ServiceRepository serviceRepo = new ServiceRepository(); //Quantity if (Request.Form["quantity"] != "") { lineItem.Quantity = int.Parse(Request.Form["quantity"]); lineItem.Invoice = openCheckIn.Invoice; lineItem.IsActive = true; //Product if (Request.Form["product"] != "") { lineItem.Product = productRepo.Get(int.Parse(Request.Form["product"])); lineItem.Service = null; invoiceRepo.AddLineItem(lineItem); UnitOfWork.CurrentSession.Flush(); return Json(new { error = "false", lineItem.Product.Name, lineItem.Quantity }); } //Service else if (Request.Form["service"] != "") { lineItem.Service = serviceRepo.Get(int.Parse(Request.Form["service"])); lineItem.Product = null; invoiceRepo.AddLineItem(lineItem); UnitOfWork.CurrentSession.Flush(); return Json(new { error = "false", lineItem.Service.Name, lineItem.Quantity }); } } return Json(new { error = "false" }); } catch (Exception e) { return Json(new { error = "true", status = e.Message }); } }