public void should_Save_Tracing() { var partner = _clients[0]; _registryService.SaveOrUpdate(partner, false); _registryService.UpdateRelationShips("Partner", _indexId, partner.Id); var encounter = _partnerTracingService.StartEncounter(_partnertracing.FormId, _partnertracing.EncounterTypeId, partner.Id, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), _indexId); var tracing = Builder <ObsPartnerTraceResult> .CreateNew() .With(x => x.EncounterId = encounter.Id) .With(x => x.Outcome = new Guid("b25f0a50-852f-11e7-bb31-be2e44b06b34")) // Contacted .With(x => x.IndexClientId = _indexId).Build(); _partnerTracingService.SaveTest(tracing, partner.Id, _indexId); var saved = _partnerTracingService.OpenEncounter(encounter.Id); Assert.NotNull(saved); Assert.AreEqual(partner.Id, saved.ClientId); Assert.AreEqual(_indexId, saved.IndexClientId); var partnertracing = saved.ObsPartnerTraceResults.FirstOrDefault(); Assert.NotNull(partnertracing); Assert.AreEqual(encounter.Id, partnertracing.EncounterId); Assert.AreEqual(new Guid("b25f0a50-852f-11e7-bb31-be2e44b06b34"), partnertracing.Outcome); Console.WriteLine(saved); }
public void Init(string formId, string encounterTypeId, string mode, string clientId, string encounterId, string indexclient) { // Load Client Client = _dashboardService.LoadClient(new Guid(clientId)); if (null != Client) { var clientJson = JsonConvert.SerializeObject(Client); _settings.AddOrUpdateValue("client", clientJson); } if (!string.IsNullOrWhiteSpace(indexclient)) { IndexClient = new IndexClientDTO(new Guid(indexclient)); _settings.AddOrUpdateValue("ptclientIndex", JsonConvert.SerializeObject(IndexClient)); } // Load or Create Encounter if (!string.IsNullOrWhiteSpace(encounterTypeId)) { _settings.AddOrUpdateValue("encounterTypeId", encounterTypeId); } EncounterTypeId = new Guid(encounterTypeId); if (mode == "new") { // New Encounter _settings.AddOrUpdateValue("client.link.mode", "new"); Encounter = _tracingService.StartEncounter(new Guid(formId), EncounterTypeId, Client.Id, AppProviderId, AppUserId, AppPracticeId, AppDeviceId, IndexClient.Id); } else { // Load Encounter _settings.AddOrUpdateValue("client.link.mode", "open"); Encounter = _tracingService.OpenEncounter(new Guid(encounterId)); } if (null == Encounter) { throw new ArgumentException("Encounter has not been Initialized"); } //Store Encounter var encounterJson = JsonConvert.SerializeObject(Encounter); _settings.AddOrUpdateValue("client.encounter", encounterJson); var modes = _lookupService.GetCategoryItems("TraceMode", true, "[Select Mode]").ToList(); _settings.AddOrUpdateValue("lookup.TMode", JsonConvert.SerializeObject(modes)); var outcomes = _lookupService.GetCategoryItems("PNSOutcome", true, "[Select Outcome]").ToList(); _settings.AddOrUpdateValue("lookup.TOutcome", JsonConvert.SerializeObject(outcomes)); var consents = _lookupService.GetCategoryItems("YesNo", true, "[Select Consent]").ToList(); _settings.AddOrUpdateValue("lookup.TConsent", JsonConvert.SerializeObject(consents)); var reasons = _lookupService.GetCategoryItems("ReasonNotContacted", true, "[Select Reason]").ToList(); _settings.AddOrUpdateValue("lookup.ReasonNotContacted", JsonConvert.SerializeObject(reasons)); }