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  } }
         }
     });*/
 }
Ejemplo n.º 2
0
        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 );
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 6
0
        public void Setup()
        {
            _nhibernateFixture = new NHibernateFixture();

            var sessionProviderMock = new Mock<ISessionProvider>();
            sessionProviderMock.Setup(x => x.GetSession()).Returns(_nhibernateFixture.Session);

            _sut = new PatientRepository(sessionProviderMock.Object);
        }
Ejemplo n.º 7
0
 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));
            }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
 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));
 }
Ejemplo n.º 12
0
        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 );
        }
Ejemplo n.º 13
0
        /// <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"
                });
            }
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
            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);
            }
Ejemplo n.º 16
0
        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));
        }
Ejemplo n.º 17
0
        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);
                }
            }
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        /// <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
                });
            }
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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);
            }
        }
Ejemplo n.º 25
0
        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);
        }
Ejemplo n.º 27
0
        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"));
        }
Ejemplo n.º 29
0
        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);
    }
Ejemplo n.º 31
0
        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);
        }
Ejemplo n.º 32
0
 public PatientService(PatientRepository patientRepository)
 {
 }
Ejemplo n.º 33
0
 public PatientService(IDbConnection connection)
 {
     _patientRepository = new PatientRepository(connection);
     _listRepository    = new ListRepository(connection);
     _visitRepository   = new VisitRepository(connection);
 }
Ejemplo n.º 34
0
        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();
        }
Ejemplo n.º 35
0
 public PatientService(PatientRepository patientRepository, MedicalRecordRepository medicalRecordRepository)
 {
     _patientRepository       = patientRepository;
     _medicalRecordRepository = medicalRecordRepository;
     _userValidation          = new UserValidation();
 }
Ejemplo n.º 36
0
 public PatientBAL()
 {
     Repository = new PatientRepository <Patient>();
 }
 public void InitializeTests()
 {
     _fakePatientRepository = new FakePatientRepository();
     _patientRepository     = new PatientRepository();
 }
Ejemplo n.º 38
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="PatientController" /> class.
 /// </summary>
 public PatientController()
 {
     this.pr = new PatientRepository();
 }
Ejemplo n.º 39
0
        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);
            }
        }
Ejemplo n.º 40
0
        /// <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
                });
            }
        }
Ejemplo n.º 41
0
        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"
                });
            }
        }
Ejemplo n.º 42
0
        /// <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
                });
            }
        }
Ejemplo n.º 43
0
        /// <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
                                });
            }
        }
Ejemplo n.º 44
0
        /// <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
                });
            }
        }
Ejemplo n.º 45
0
 public PatientServices(PatientRepository patientRepository)
 {
     this._patientRepository = new PatientRepository();
 }
Ejemplo n.º 46
0
        /// <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;
        }
Ejemplo n.º 47
0
 /// <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;
 }
Ejemplo n.º 48
0
        /// <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;
 }
Ejemplo n.º 50
0
        /// <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
                });
            }
        }
Ejemplo n.º 51
0
        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;
 }
Ejemplo n.º 53
0
        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
                });
            }
        }
Ejemplo n.º 54
0
        /// <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
                });
            }
        }
Ejemplo n.º 55
0
        public Patient GetOne(int PatientId)
        {
            var bookpro = new PatientRepository();

            return(bookpro.GetById(PatientId));
        }
Ejemplo n.º 56
0
        /// <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
                });
            }
        }
Ejemplo n.º 57
0
        /// <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
                });
            }
        }
Ejemplo n.º 58
0
        /// <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);
        }
Ejemplo n.º 59
0
 /// <summary>
 /// Initialises all the private variables
 /// </summary>
 public PatientManager()
 {
     patientRepository = new PatientRepository();
 }
Ejemplo n.º 60
0
        /// <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
                });
            }
        }