public void TestCitizenshipExtensionConstructValidRoleCitizenship()
        {
            var citizenshipExtension = this.m_serviceManager.CreateInjected <CitizenshipExtension>();
            var citizenPlace         = new Place
            {
                Identifiers = new List <EntityIdentifier>
                {
                    new EntityIdentifier(AssigningAuthorityKeys.Iso3166CountryCode, "NF")
                }
            };

            var patient = new Patient
            {
                Relationships = new List <EntityRelationship>
                {
                    new EntityRelationship(EntityRelationshipTypeKeys.Citizen, citizenPlace)
                }
            };

            var constructedCitizenPlace = citizenshipExtension.Construct(patient).ToArray();

            Assert.IsTrue(constructedCitizenPlace.Any());

            var extension = constructedCitizenPlace.FirstOrDefault();

            Assert.IsNotNull(extension);
            Assert.IsInstanceOf <CodeableConcept>(extension.Value);

            var concept = extension.Value as CodeableConcept;

            Assert.NotNull(concept);
            Assert.AreEqual(1, concept.Coding.Count);
            Assert.AreEqual("NF", concept.Coding.Single().Code);
        }
Beispiel #2
0
        public void TestParseWithInvalidExtensionParameter()
        {
            var birthPlaceExtension = this.m_serviceManager.CreateInjected <BirthPlaceExtension>();
            var extensionforTest    = new Extension("http://hl7.org/fhir/StructureDefinition/patient-religion", new FhirString("Test"));
            var patient             = new Patient();

            birthPlaceExtension.Parse(extensionforTest, patient);

            Assert.IsFalse(patient.Relationships.Any(c => c.RelationshipTypeKey == EntityRelationshipTypeKeys.Birthplace));
        }
        public void TestCitizenshipExtensionParseValidRoleInvalidExtension()
        {
            TestUtil.CreateAuthority("TEST", "1.2.3.4", "http://santedb.org/fhir/test", "TEST_HARNESS", this.AUTH);
            using (TestUtil.AuthenticateFhir("TEST_HARNESS", this.AUTH))
            {
                var citizenshipExtension = this.m_serviceManager.CreateInjected <CitizenshipExtension>();
                var patient          = new Patient();
                var extensionForTest = new Extension("http://hl7.org/fhir/StructureDefinition/patient-citizenship",
                                                     new FhirString("Test"));

                citizenshipExtension.Parse(extensionForTest, patient);

                Assert.IsEmpty(patient.Relationships);
            }
        }
        public void TestCitizenshipExtensionParseValidRoleExtension()
        {
            TestUtil.CreateAuthority("TEST", "1.2.3.4", "http://santedb.org/fhir/test", "TEST_HARNESS", this.AUTH);
            using (TestUtil.AuthenticateFhir("TEST_HARNESS", this.AUTH))
            {
                var citizenshipExtension = this.m_serviceManager.CreateInjected <CitizenshipExtension>();
                var patient          = new Patient();
                var extensionForTest = new Extension("http://hl7.org/fhir/StructureDefinition/patient-citizenship",
                                                     new CodeableConcept("urn:oid:1.0.3166.1.2.3", "NF"));

                citizenshipExtension.Parse(extensionForTest, patient);

                Assert.IsNotNull(patient.Relationships);
                Assert.IsTrue(patient.Relationships.Count() == 1);
                Assert.IsInstanceOf <Place>(patient.Relationships.Single().TargetEntity);
                Assert.AreEqual("NF", patient.Relationships.Single().TargetEntity.Identifiers.Single().Value);
                Assert.IsTrue(patient.Relationships.Single().RelationshipTypeKey == EntityRelationshipTypeKeys.Citizen);
                Assert.IsTrue(patient.Relationships.Single().TargetEntity.Identifiers.Any(c => c.AuthorityKey == AssigningAuthorityKeys.Iso3166CountryCode));
            }
        }
        public void TestConstructFailedWithRelationshipTypeStudent()
        {
            var citizenshipExtension = this.m_serviceManager.CreateInjected <CitizenshipExtension>();
            var citizenPlace         = new Place
            {
                Identifiers = new List <EntityIdentifier>
                {
                    new EntityIdentifier(AssigningAuthorityKeys.Iso3166CountryCode, "NF")
                }
            };

            var patient = new Patient
            {
                Relationships = new List <EntityRelationship>
                {
                    new EntityRelationship(EntityRelationshipTypeKeys.Student, citizenPlace)
                }
            };

            var constructedCitizenPlace = citizenshipExtension.Construct(patient).ToArray();

            Assert.IsFalse(constructedCitizenPlace.Any());
        }
        public void TestConstructFailedWithRandomAuthorityId()
        {
            var citizenshipExtension = this.m_serviceManager.CreateInjected <CitizenshipExtension>();
            var citizenPlace         = new Place
            {
                Identifiers = new List <EntityIdentifier>
                {
                    new EntityIdentifier(Guid.NewGuid(), "NF")
                }
            };

            var patient = new Patient
            {
                Relationships = new List <EntityRelationship>
                {
                    new EntityRelationship(EntityRelationshipTypeKeys.Citizen, citizenPlace)
                }
            };

            var constructedCitizenPlace = citizenshipExtension.Construct(patient).ToArray();

            Assert.IsFalse(constructedCitizenPlace.Any());
        }