Exemplo n.º 1
0
        public IQCareEmrService(IPatientService patientService, IEmrRepository emrRepository,
                                ICreateEmrPatientHandler createEmrPatientHandler, ICreateEmrEncounterHandler createEmrEncounterHandler)
        {
            _patientService            = patientService;
            _patientService.EmrService = this;
            _patientService.EncounterService.EmrService = this;
            _encounterService = patientService.EncounterService;

            EmrRepository = emrRepository;

            CreateEmrPatientHandler   = createEmrPatientHandler;
            CreateEmrEncounterHandler = createEmrEncounterHandler;

            _patientService.PatientCreatedEvent     += PatientService_PatientCreatedEvent;
            _encounterService.EncounterCreatedEvent += EncounterService_EncounterCreatedEvent;
        }
Exemplo n.º 2
0
        public void Setup()
        {
            _testEncounters = _factory.GenerateTestEncountersByType(1);
            _patient        = _testEncounters.First().Patient;
            _uow            = new UnitOfWork(new SyncContext());
            _emrRepository  = new EmrRepository();

            _createEmrPatientHandler   = new CreateEmrPatientHandler();
            _createEmrEncounterHandler = new CreateEmrEncounterHandler();

            _patientService   = new PatientService(_uow, _emrRepository, _createEmrPatientHandler, _createEmrEncounterHandler);
            _encounterService = _patientService.EncounterService;

            _patientService.Sync(_patient, true);
            _iqPatient = new EmrRepository().GetPatient(_patient.UuId);
            uuids      = new List <Guid>();
        }
Exemplo n.º 3
0
        public void Setup()
        {
            uuids           = new List <Guid>();
            testIQPatientId = -1;


            _testPatients         = _factory.GenerateTestPatients();
            _patientWithEncounter = _factory.GenerateTestEncountersByType(1).First().Patient;
            _uow                       = new UnitOfWork(new SyncContext());
            _emrRepository             = new EmrRepository();
            _createEmrPatientHandler   = new CreateEmrPatientHandler();
            _createEmrEncounterHandler = new CreateEmrEncounterHandler();

            _patientService   = new PatientService(_uow, _emrRepository, _createEmrPatientHandler, _createEmrEncounterHandler);
            _encounterService = _patientService.EncounterService;


            _emrService = _patientService.EmrService;
        }
Exemplo n.º 4
0
        public void Setup()
        {
            _factory                   = new Factory();
            testIQPatientId            = -1;
            _testPatients              = _factory.GenerateTestPatients();
            _testEncounters            = _factory.GenerateTestEncountersByType(1);
            _uow                       = new UnitOfWork(new SyncContext());
            _emrRepository             = new EmrRepository();
            _createEmrPatientHandler   = new CreateEmrPatientHandler();
            _createEmrEncounterHandler = new CreateEmrEncounterHandler();

            _patientService   = new PatientService(_uow, _emrRepository, _createEmrPatientHandler, _createEmrEncounterHandler);
            _encounterService = _patientService.EncounterService;


            var _visitType = _emrRepository.GetVisitTypeByFeature(_testEncounters.First().EncounterType.IqcareId.Value);
            var location   = _emrRepository.GetLocation(1024);
            var concepts   = _uow.MConceptRepository.GetAllByEncounterType(_testEncounters.First().EncounterTypeId).ToList();
            var htslookups = _uow.LookupHtsRepository.GetAll().ToList();

            _encounterCreated = new EncounterCreated(_testEncounters.First().Patient, _visitType, _testEncounters.First(), location, concepts, htslookups);
        }
Exemplo n.º 5
0
 public Factory()
 {
     _uow           = new UnitOfWork(new SyncContext());
     _emrRepository = new EmrRepository();
 }
Exemplo n.º 6
0
        public void should_Update_Patient()
        {
            testIQPatientId = -1;
            var patient = _testPatients.First();

            Assert.NotNull(patient);
            IQLocation location = _emrRepository.GetLocation(locationId);

            Assert.NotNull(location);
            _createEmrPatientHandler.Handle(new PatientCreated(patient, location));
            _emrRepository.CreatePatient(_createEmrPatientHandler.GetSqlActions(), patient.UuId);

            var iqpatient = _emrRepository.GetPatient(patient.UuId);

            Assert.NotNull(iqpatient);
            Debug.Print($"From Android:{patient}!");
            Assert.That(iqpatient.ClientCode, Is.EqualTo(patient.Clientcode));
            testIQPatientId = iqpatient.Id;

            /////
            patient.Lastname   = "Kimani";
            patient.Clientcode = "KKK";
            _uow = new UnitOfWork(new SyncContext());
            _uow.PatientRepository.Update(patient);
            _uow.Commit();

            _uow = new UnitOfWork(new SyncContext());
            var updatedPatient = _uow.PatientRepository.FindById(patient.Id);

            Assert.NotNull(updatedPatient);
            Assert.AreEqual(updatedPatient.UuId, patient.UuId);
            Assert.AreEqual("Kimani", updatedPatient.Lastname);
            Assert.AreEqual("KKK", updatedPatient.Clientcode);

            _createEmrPatientHandler.Handle(new PatientCreated(updatedPatient, location));
            _emrRepository.CreatePatient(_createEmrPatientHandler.GetSqlActions(), updatedPatient.UuId);

            _emrRepository = new EmrRepository();
            var iqpatientUpdated = _emrRepository.GetPatient(updatedPatient.UuId);

            Assert.NotNull(iqpatientUpdated);
            Assert.That(iqpatientUpdated.ClientCode, Is.EqualTo(updatedPatient.Clientcode));
            Assert.That(iqpatientUpdated.LastName, Is.EqualTo(updatedPatient.Lastname));
            Assert.AreEqual(testIQPatientId, iqpatientUpdated.Id);

            Assert.True(testIQPatientId > -1);
            Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk)  from  [mst_Patient] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(1));
            Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk)  from  [DTL_FBCUSTOMFIELD_Patient_Registration] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(1));
            Assert.That(_emrRepository.ExecuteQueryStringResult($"SELECT IQNumber FROM mst_Patient WHERE Ptn_Pk = {testIQPatientId}"), Is.StringContaining("IQ-"));

            foreach (var t in _factory.GetIQTables())
            {
                Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk)  from  {t} where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(1));
            }

            Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk)  from  [ord_Visit] where Ptn_Pk in ({testIQPatientId}) AND VisitType=12"), Is.EqualTo(1));
            Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk)  from  [ord_Visit] where Ptn_Pk in ({testIQPatientId}) AND VisitType=115"), Is.EqualTo(1));
            Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk)  from  [lnk_patientprogramstart] where Ptn_Pk in ({testIQPatientId}) AND ModuleID=5"), Is.EqualTo(1));


            Debug.Print($"Udated to:{updatedPatient}!");
            Debug.Print(new string('-', 15));
            Debug.Print($"New Patient:{iqpatientUpdated.ToStringDetail()}");
        }