public void should_Create_Encounter() { testIQPatientId = -1; var patient = _testEncounters.First().Patient; Assert.NotNull(patient); IQLocation location = _emrRepository.GetLocation(locationId); Assert.NotNull(location); _createEmrPatientHandler.Handle(new PatientCreated(patient, location)); Assert.That(_createEmrPatientHandler.GetSqlActions(), Is.Not.Empty); _emrRepository.CreatePatient(_createEmrPatientHandler.GetSqlActions(), patient.UuId); var iqpatient = _emrRepository.GetPatient(patient.UuId); Assert.NotNull(iqpatient); Assert.That(iqpatient.ClientCode, Is.EqualTo(patient.Clientcode)); testIQPatientId = iqpatient.Id; Assert.True(testIQPatientId > -1); Debug.Print($"New Patient:{iqpatient.ToStringDetail()}"); _createEmrEncounterHandler.Handle(_encounterCreated); Assert.That(_createEmrEncounterHandler.GetSqlActions(), Is.Not.Empty); _emrRepository.CreateEncounter(_createEmrEncounterHandler.GetSqlActions(), patient.UuId); 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.ExecuteQuery($"select count(Ptn_Pk) from [dtl_fb_MARPsHTC] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(2)); Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [dtl_fb_DisabilityHTC] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(3)); }
public EncounterCreated(IQVisitType visitType, Encounter encounter, IQLocation location, List <MConcept> mConcepts, List <LookupHTS> lookupshts) { DateOccurred = DateTime.Now; VisitType = visitType; Encounter = encounter; Location = location; MConcepts = mConcepts; LookupsHts = lookupshts; }
public void Handle(PatientCreated args) { //TODO: Remove hard codede ModuleID,VisitType,LocationID values _sqlActions = new List <SqlAction>(); _patient = args.Patient; _location = args.Location; _module = args.Module; _visittype = args.VisitType; _notification = $"Creating Patient[{args.Patient}] Encounters[{args.Patient.Encounters?.Count ?? 0}]"; Log.Debug(_notification); GenerateSqlActions(); }
public void Handle(EncounterCreated args) { // TODO: Remove hard codede ModuleID, VisitType, LocationID values _sqlActions = new List <SqlAction>(); _patient = args.Patient; _location = args.Location; _encounter = args.Encounter; _visitType = args.VisitType; _mConcepts = args.MConcepts; _lookupHtss = args.LookupsHts; _notification = $"Creating Encounter[{args.Encounter},{args.Patient}] Observations[{args.Patient.Encounters.Count}]"; Log.Debug(_notification); GenerateSqlActions(); }
public PatientCreated(Patient patient, IQLocation location) { Patient = patient; Location = location; DateOccurred = DateTime.Now; //TODO: Remove hard codede ModuleID,VisitType,LocationID values Module = new IQModule() { ModuleID = 5 }; VisitType = new IQVisitType() { VisitTypeID = 219 }; }
public void should_Update_Encounter() { testIQPatientId = -1; var patient = _testEncounters.First().Patient; Assert.NotNull(patient); IQLocation location = _emrRepository.GetLocation(locationId); Assert.NotNull(location); _createEmrPatientHandler.Handle(new PatientCreated(patient, location)); Assert.That(_createEmrPatientHandler.GetSqlActions(), Is.Not.Empty); _emrRepository.CreatePatient(_createEmrPatientHandler.GetSqlActions(), patient.UuId); var iqpatient = _emrRepository.GetPatient(patient.UuId); Assert.NotNull(iqpatient); Assert.That(iqpatient.ClientCode, Is.EqualTo(patient.Clientcode)); testIQPatientId = iqpatient.Id; Assert.True(testIQPatientId > -1); Debug.Print($"New Patient:{iqpatient.ToStringDetail()}"); _createEmrEncounterHandler.Handle(_encounterCreated); Assert.That(_createEmrEncounterHandler.GetSqlActions(), Is.Not.Empty); _emrRepository.CreateEncounter(_createEmrEncounterHandler.GetSqlActions(), patient.UuId); 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.ExecuteQuery($"select count(Ptn_Pk) from [dtl_fb_MARPsHTC] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(2)); Assert.That(_emrRepository.ExecuteQuery($"select count(Ptn_Pk) from [dtl_fb_DisabilityHTC] where Ptn_Pk in ({testIQPatientId})"), Is.EqualTo(3)); var e = _testEncounters.First(); e.Observations.First(x => x.MConceptId == 30).ValueLookup = 4125; e.Observations.First(x => x.MConceptId == 24).ValueNumeric = 1; e.Observations.First(x => x.MConceptId == 48).ValueText = "Check Later"; e.Observations.First(x => x.MConceptId == 11).ValueMultipleChoice = "4051"; _encounterCreated = new EncounterCreated(_testEncounters.First().Patient, _encounterCreated.VisitType, e, _encounterCreated.Location, _encounterCreated.MConcepts, _encounterCreated.LookupsHts); _createEmrEncounterHandler.Handle(_encounterCreated); _emrRepository.CreateEncounter(_createEmrEncounterHandler.GetSqlActions(), patient.UuId); 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.ExecuteQuery($"select count(Ptn_Pk) from [dtl_fb_MARPsHTC] 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("Check Later")); }
public void should_Create_Patient() { testIQPatientId = -1; var patient = _testPatients.First(); Assert.NotNull(patient); IQLocation location = _emrRepository.GetLocation(locationId); Assert.NotNull(location); _createEmrPatientHandler.Handle(new PatientCreated(patient, location)); Debug.Print(_createEmrPatientHandler.GetNotification()); Assert.That(_createEmrPatientHandler.GetSqlActions(), Is.Not.Empty); //Debug.Print(_createEmrPatientHandler.GetSqlActionsBatch()); _emrRepository.CreatePatient(_createEmrPatientHandler.GetSqlActions(), patient.UuId); var iqpatient = _emrRepository.GetPatient(patient.UuId); Assert.NotNull(iqpatient); Assert.That(iqpatient.ClientCode, Is.EqualTo(patient.Clientcode)); testIQPatientId = iqpatient.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($"From Android:{patient}!"); Debug.Print(new string('-', 15)); Debug.Print($"New Patient:{iqpatient.ToStringDetail()}"); }
public EncounterCreated(Guid patientSyncId, IQVisitType visitType, Encounter encounter, IQLocation location, List <MConcept> mConcepts, List <LookupHTS> lookupshts) : this(visitType, encounter, location, mConcepts, lookupshts) { PatientSyncId = patientSyncId; }
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()}"); }