예제 #1
0
        public void should_Delete_Tracing_States()
        {
            var partner = _clients[2];

            _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);

            _partnerTracingService.DeleteTest(tracing, partner.Id, _indexId);
            var screenedPartner = _registryService.Find(partner.Id);

            Assert.NotNull(screenedPartner);
            var states = screenedPartner.ClientStates.ToList();

            Assert.True(states.Count == 1);
            Assert.NotNull(states.FirstOrDefault(x => x.Status == LiveState.PartnerListed));
        }
예제 #2
0
        public void should_Save_Screening_States()
        {
            var son = _clients[3];

            _registryService.SaveOrUpdate(son, false);
            _registryService.UpdateRelationShips("Son", _indexId, son.Id);
            var encounter = _memberScreeningService.StartEncounter(_memberscreening.FormId,
                                                                   _memberscreening.EncounterTypeId, son.Id, Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(),
                                                                   Guid.NewGuid(), _indexId);
            var screening = Builder <ObsMemberScreening> .CreateNew()
                            .With(x => x.EncounterId   = encounter.Id)
                            .With(x => x.Eligibility   = new Guid("b25eccd4-852f-11e7-bb31-be2e44b06b34"))
                            .With(x => x.IndexClientId = _indexId).Build();

            _memberScreeningService.SaveMemberScreening(screening, son.Id, _indexId);

            var screenedSon = _registryService.Find(son.Id);

            Assert.NotNull(screenedSon);
            var states = screenedSon.ClientStates.ToList();

            Assert.True(states.Count == 3);
            Assert.NotNull(states.FirstOrDefault(x => x.Status == LiveState.FamilyListed));
            Assert.NotNull(states.FirstOrDefault(x => x.Status == LiveState.FamilyScreened));
            Assert.NotNull(states.FirstOrDefault(x => x.Status == LiveState.FamilyEligibileYes));
            Console.WriteLine(screenedSon);
            foreach (var state in states)
            {
                Console.WriteLine($" {state}");
            }
        }
예제 #3
0
        public void Init(string id, string indexId, string reltype, string enroll)
        {
            ClearCache();

            if (!string.IsNullOrWhiteSpace(indexId) && !string.IsNullOrWhiteSpace(reltype))
            {
                var indexClient    = _registryService.Find(new Guid(indexId));
                var indexClientDTO = new IndexClientDTO(new Guid(indexId), reltype);
                if (null != indexClient)
                {
                    indexClientDTO.Names      = indexClient.Person.FullName;
                    indexClientDTO.Gender     = indexClient.Person.Gender;
                    indexClientDTO.PracticeId = indexClient.PracticeId;
                }

                var json = JsonConvert.SerializeObject(indexClientDTO);
                _settings.AddOrUpdateValue(nameof(IndexClientDTO), json);

                ShowViewModel <ClientDemographicViewModel>(new { indexId = indexId });

                return;
            }

            if (!string.IsNullOrWhiteSpace(id))
            {
                Client = _registryService.Find(new Guid(id));
                if (!string.IsNullOrWhiteSpace(enroll))
                {
                    Client.PreventEnroll = false;
                    _settings.AddOrUpdateValue("PreventEnroll", "false");
                }
            }


            ShowViewModel <ClientDemographicViewModel>();
        }
        public void should_Find_Client()
        {
            var cient = _registryService.Find(_indexId);

            Assert.IsNotNull(cient);
            Assert.IsNotNull(cient.Person);
            Assert.IsTrue(cient.Identifiers.Any());
            Assert.IsTrue(cient.ClientStates.Any());
            Console.WriteLine(cient);
            foreach (var identifier in cient.Identifiers)
            {
                Console.WriteLine($"  > {identifier}");
            }
        }