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; }
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>(); }
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; }
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); }
public Factory() { _uow = new UnitOfWork(new SyncContext()); _emrRepository = new EmrRepository(); }
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()}"); }