Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }