public void TestCanMapObject()
        {
            var initialImmunizationKey = Guid.Parse("f3be6b88-bc8f-4263-a779-86f21ea10a47");
            var immunizationKey        = Guid.Parse("6e7a3521-2967-4c0a-80ec-6c5c197b2178");
            var boosterImmunizationKey = Guid.Parse("0331e13f-f471-4fbd-92dc-66e0a46239d5");
            var randomGuidKey          = Guid.NewGuid();

            var localizationService         = ApplicationServiceContext.Current.GetService <ILocalizationService>();
            var immunizationResourceHandler = new ImmunizationResourceHandler(m_substanceAdministrationRepositoryService, localizationService);

            //check to ensure immunization instance can be mapped
            var result = immunizationResourceHandler.CanMapObject(new Immunization());

            Assert.True(result);

            //check to ensure an invalid instance cannot be mapped
            result = immunizationResourceHandler.CanMapObject(new Medication());
            Assert.False(result);

            //check to ensure substance instance can be mapped with valid type keys
            var substanceAdministration = new SubstanceAdministration()
            {
                TypeConcept = new Concept()
                {
                    Key = initialImmunizationKey
                }
            };

            result = immunizationResourceHandler.CanMapObject(substanceAdministration);
            Assert.True(result);

            //check to ensure substance instance can be mapped with valid type keys
            substanceAdministration.TypeConcept = new Concept()
            {
                Key = boosterImmunizationKey
            };
            result = immunizationResourceHandler.CanMapObject(substanceAdministration);
            Assert.True(result);

            //check to ensure substance instance can be mapped with valid type keys
            substanceAdministration.TypeConcept = new Concept()
            {
                Key = immunizationKey
            };
            result = immunizationResourceHandler.CanMapObject(substanceAdministration);
            Assert.True(result);

            //check to ensure substance instance cannot be mapped without valid key
            substanceAdministration.TypeConcept = new Concept()
            {
                Key = randomGuidKey
            };
            result = immunizationResourceHandler.CanMapObject(substanceAdministration);
            Assert.False(result);
        }
        public void TestGetInteractions()
        {
            var localizationService         = ApplicationServiceContext.Current.GetService <ILocalizationService>();
            var immunizationResourceHandler = new ImmunizationResourceHandler(this.m_substanceAdministrationRepositoryService, localizationService);
            var methodInfo   = typeof(ImmunizationResourceHandler).GetMethod("GetInteractions", BindingFlags.Instance | BindingFlags.NonPublic);
            var interactions = methodInfo.Invoke(immunizationResourceHandler, null);

            Assert.True(interactions is IEnumerable <CapabilityStatement.ResourceInteractionComponent>);

            var resourceInteractionComponents = (IEnumerable <CapabilityStatement.ResourceInteractionComponent>)interactions;

            Assert.AreEqual(7, resourceInteractionComponents.Count());
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.HistoryInstance));
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.Read));
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.SearchType));
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.Vread));
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.Delete));
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.Create));
            Assert.IsTrue(resourceInteractionComponents.Any(c => c.Code == CapabilityStatement.TypeRestfulInteraction.Update));
        }