public void Setup() { _factory = new Factory(); _uow = new UnitOfWork(new SyncContext()); _testEncounters = _factory.GenerateTestEncountersByType(1); var _encounter = _testEncounters.First(); var _patient = _testEncounters.First().Patient; var _emrRepository = new EmrRepository(); var _visitType = _emrRepository.GetVisitTypeByFeature(_encounter.EncounterType.IqcareId.Value); var location = _emrRepository.GetLocation(1024); var concepts = _uow.MConceptRepository.GetAllByEncounterType(_encounter.EncounterTypeId).ToList(); var htslookups = _uow.LookupHtsRepository.GetAll().ToList(); _encounterCreated = new EncounterCreated(_patient, _visitType, _encounter, location, concepts, htslookups); _createEmrEncounterHandler = new CreateEmrEncounterHandler(); }
public void should_sync_existing_Encounter() { var encounters = new List <Encounter>(); var patient = _testEncounters.First().Patient; var encounter = _testEncounters.First(); encounters.Add(encounter); _encounterService.Sync(encounters, patient); _uow = new UnitOfWork(new SyncContext()); _patientService = new PatientService(_uow, _emrRepository, _createEmrPatientHandler, _createEmrEncounterHandler); _encounterService = _patientService.EncounterService; var savedEncounter = _encounterService.GetAll().First(x => x.UuId == encounter.UuId); Assert.That(savedEncounter, Is.Not.Null); Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [ord_Visit] where Ptn_Pk in ({_iqPatient.Id}) AND VisitType=219"), Is.EqualTo(1)); Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({_iqPatient.Id})"), Is.EqualTo(1)); Assert.That(_emrRepository.ExecuteQueryStringResult($"select remarks from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({_iqPatient.Id})"), Is.StringContaining("No remark")); foreach (var o in savedEncounter.Observations) { if (o.MConceptId == 16) { o.ValueText = "color blind left eye"; } if (o.MConceptId == 48) { o.ValueText = "Screen for TB2"; } } var updateEncounters = new List <Encounter>(); updateEncounters.Add(savedEncounter); _encounterService.Sync(updateEncounters, patient); var emrRepository = new EmrRepository(); Assert.That(emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [ord_Visit] where Ptn_Pk in ({_iqPatient.Id}) AND VisitType=219"), Is.EqualTo(1)); Assert.That(emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({_iqPatient.Id})"), Is.EqualTo(1)); Assert.That(emrRepository.ExecuteQueryStringResult($"select remarks from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({_iqPatient.Id})"), Is.StringContaining("Screen for TB2")); }
public void should_sync_existing_patient_with_encounters() { testIQPatientId = -1; var patient = _testEncounters.First().Patient; _patientService.Sync(patient, false); var savedPatient = _patientService.GetAll().FirstOrDefault(x => x.UuId == patient.UuId); Assert.That(savedPatient, Is.Not.Null); Assert.That(savedPatient.Encounters, Is.Not.Empty); var iqpatient = _emrRepository.GetPatient(savedPatient.UuId); Assert.NotNull(iqpatient); testIQPatientId = iqpatient.Id; Debug.Print($"IQCare before Edit:{iqpatient.ToStringDetail()}"); Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [ord_Visit] where Ptn_Pk in ({testIQPatientId}) AND VisitType=219"), Is.EqualTo(1)); Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(1)); Assert.That(_emrRepository.ExecuteQueryStringResult($"select remarks from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({testIQPatientId})"), Is.StringContaining("No remark")); //var conceptText = encounterType.Concepts.FirstOrDefault(x => x.Id == 16); //var conceptText2 = encounterType.Concepts.FirstOrDefault(x => x.Id == 48); savedPatient.Lastname = "BonnyK"; savedPatient.Clientcode = "XC"; foreach (var encounter in savedPatient.Encounters) { encounter.Geoloctaion = "KISUMU"; foreach (var o in encounter.Observations) { if (o.MConceptId == 16) { o.ValueText = "color blind left eye"; } if (o.MConceptId == 48) { o.ValueText = "Screen for TB2"; } } } //_uow.PatientRepository.Update(savedPatient); //_uow = new UnitOfWork(new SyncContext()); //var p = _uow.PatientRepository.FindBySyncId(patient.UuId); _patientService.Sync(savedPatient, false); _uow = new UnitOfWork(new SyncContext()); _patientService = new PatientService(_uow, new EmrRepository(), _createEmrPatientHandler, _createEmrEncounterHandler); var savedSyncedPatient = _patientService.GetAll().FirstOrDefault(x => x.UuId == patient.UuId); Assert.That(savedSyncedPatient, Is.Not.Null); Assert.AreEqual("BonnyK", savedSyncedPatient.Lastname); var emrRepository = new EmrRepository(); var iqsyncedpatient = emrRepository.GetPatient(patient.UuId); Assert.NotNull(iqsyncedpatient); Assert.AreEqual("BonnyK", iqsyncedpatient.LastName); Debug.Print($"IQCare After Edit:{iqsyncedpatient.ToStringDetail()}"); Assert.That(emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [ord_Visit] where Ptn_Pk in ({testIQPatientId}) AND VisitType=219"), Is.EqualTo(1)); Assert.That(emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(1)); Assert.That(emrRepository.ExecuteQueryStringResult($"select remarks from [DTL_FBCUSTOMFIELD_KNH_HTC_Form] where Ptn_Pk in ({testIQPatientId})"), Is.StringContaining("Screen for TB2")); }
public void CreateEncounter(EncounterCreated args) { CreateEmrEncounterHandler.Handle(args); EmrRepository.CreateEncounter(CreateEmrEncounterHandler.GetSqlActions(), args.Patient.UuId); }
public void CreatePatient(PatientCreated args) { CreateEmrPatientHandler.Handle(args); EmrRepository.CreatePatient(CreateEmrPatientHandler.GetSqlActions(), args.Patient.UuId); }
public IQVisitType GetVisitType(int featureId) { return(EmrRepository.GetVisitTypeByFeature(featureId)); }
public IQLocation GetLocation() { return(EmrRepository.GetLocation(locationId)); }