Exemple #1
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Patient;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (Identifier != null)
                {
                    dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
                }
                if (Name != null)
                {
                    dest.Name = new List <Hl7.Fhir.Model.HumanName>(Name.DeepCopy());
                }
                if (Telecom != null)
                {
                    dest.Telecom = new List <Hl7.Fhir.Model.ContactPoint>(Telecom.DeepCopy());
                }
                if (GenderElement != null)
                {
                    dest.GenderElement = (Code <Hl7.Fhir.Model.AdministrativeGender>)GenderElement.DeepCopy();
                }
                if (BirthDateElement != null)
                {
                    dest.BirthDateElement = (Hl7.Fhir.Model.Date)BirthDateElement.DeepCopy();
                }
                if (Deceased != null)
                {
                    dest.Deceased = (Hl7.Fhir.Model.Element)Deceased.DeepCopy();
                }
                if (Address != null)
                {
                    dest.Address = new List <Hl7.Fhir.Model.Address>(Address.DeepCopy());
                }
                if (MaritalStatus != null)
                {
                    dest.MaritalStatus = (Hl7.Fhir.Model.CodeableConcept)MaritalStatus.DeepCopy();
                }
                if (MultipleBirth != null)
                {
                    dest.MultipleBirth = (Hl7.Fhir.Model.Element)MultipleBirth.DeepCopy();
                }
                if (Photo != null)
                {
                    dest.Photo = new List <Hl7.Fhir.Model.Attachment>(Photo.DeepCopy());
                }
                if (Contact != null)
                {
                    dest.Contact = new List <Hl7.Fhir.Model.Patient.ContactComponent>(Contact.DeepCopy());
                }
                if (Animal != null)
                {
                    dest.Animal = (Hl7.Fhir.Model.Patient.AnimalComponent)Animal.DeepCopy();
                }
                if (Communication != null)
                {
                    dest.Communication = new List <Hl7.Fhir.Model.Patient.PatientCommunicationComponent>(Communication.DeepCopy());
                }
                if (CareProvider != null)
                {
                    dest.CareProvider = new List <Hl7.Fhir.Model.ResourceReference>(CareProvider.DeepCopy());
                }
                if (ManagingOrganization != null)
                {
                    dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
                }
                if (Link != null)
                {
                    dest.Link = new List <Hl7.Fhir.Model.Patient.PatientLinkComponent>(Link.DeepCopy());
                }
                if (ActiveElement != null)
                {
                    dest.ActiveElement = (Hl7.Fhir.Model.FhirBoolean)ActiveElement.DeepCopy();
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
        public override ErrorList Validate()
        {
            var result = new ErrorList();

            result.AddRange(base.Validate());

            if (Identifier != null)
            {
                Identifier.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Name != null)
            {
                Name.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Telecom != null)
            {
                Telecom.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Gender != null)
            {
                result.AddRange(Gender.Validate());
            }
            if (BirthDateElement != null)
            {
                result.AddRange(BirthDateElement.Validate());
            }
            if (Deceased != null)
            {
                result.AddRange(Deceased.Validate());
            }
            if (Address != null)
            {
                Address.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (MaritalStatus != null)
            {
                result.AddRange(MaritalStatus.Validate());
            }
            if (MultipleBirth != null)
            {
                result.AddRange(MultipleBirth.Validate());
            }
            if (Photo != null)
            {
                Photo.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Contact != null)
            {
                Contact.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Animal != null)
            {
                result.AddRange(Animal.Validate());
            }
            if (Communication != null)
            {
                Communication.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (Provider != null)
            {
                result.AddRange(Provider.Validate());
            }
            if (Link != null)
            {
                Link.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (ActiveElement != null)
            {
                result.AddRange(ActiveElement.Validate());
            }

            return(result);
        }