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();
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
        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"));
        }
Exemple #4
0
 public void CreateEncounter(EncounterCreated args)
 {
     CreateEmrEncounterHandler.Handle(args);
     EmrRepository.CreateEncounter(CreateEmrEncounterHandler.GetSqlActions(), args.Patient.UuId);
 }
Exemple #5
0
 public void CreatePatient(PatientCreated args)
 {
     CreateEmrPatientHandler.Handle(args);
     EmrRepository.CreatePatient(CreateEmrPatientHandler.GetSqlActions(), args.Patient.UuId);
 }
Exemple #6
0
 public IQVisitType GetVisitType(int featureId)
 {
     return(EmrRepository.GetVisitTypeByFeature(featureId));
 }
Exemple #7
0
 public IQLocation GetLocation()
 {
     return(EmrRepository.GetLocation(locationId));
 }