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 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_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 async Task Handle(EncounterCreated message) { var obj = this.ParseMessage(message); var nhsNumber = obj.Subject.Identifier.Value; var patient = await this.Patients.GetOne(nhsNumber); if (patient == null) { return; } var clinicalNote = new ClinicalNote { ClinicalNotesType = "Encounter", Notes = $"Encounter created from INR", PatientId = nhsNumber, DateCreated = obj.Meta?.LastUpdated?.DateTime ?? DateTime.UtcNow, Source = "INR", SourceId = obj.Identifier[0].Value }; await this.ClinicalNotes.AddOrUpdate(clinicalNote); }
protected virtual void OnEncounterCreatedEvent(EncounterCreated e) { EncounterCreatedEvent?.Invoke(this, e); }
public async Task Handle(EncounterCreated message) { var encounter = this.ParseMessage(message); System.Console.WriteLine(encounter.Meta.LastUpdated); }
public void CreateEncounter(EncounterCreated args) { CreateEmrEncounterHandler.Handle(args); EmrRepository.CreateEncounter(CreateEmrEncounterHandler.GetSqlActions(), args.Patient.UuId); }
protected virtual void EncounterService_EncounterCreatedEvent(object sender, EncounterCreated e) { CreateEncounter(e); }