示例#1
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Population;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Age != null)
            {
                dest.Age = (Hl7.Fhir.Model.Element)Age.DeepCopy();
            }
            if (Gender != null)
            {
                dest.Gender = (Hl7.Fhir.Model.CodeableConcept)Gender.DeepCopy();
            }
            if (Race != null)
            {
                dest.Race = (Hl7.Fhir.Model.CodeableConcept)Race.DeepCopy();
            }
            if (PhysiologicalCondition != null)
            {
                dest.PhysiologicalCondition = (Hl7.Fhir.Model.CodeableConcept)PhysiologicalCondition.DeepCopy();
            }
            return(dest);
        }
示例#2
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Timing;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (EventElement != null)
                {
                    dest.EventElement = new List <Hl7.Fhir.Model.FhirDateTime>(EventElement.DeepCopy());
                }
                if (Repeat != null)
                {
                    dest.Repeat = (Hl7.Fhir.Model.Timing.RepeatComponent)Repeat.DeepCopy();
                }
                if (Code != null)
                {
                    dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
示例#3
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as PaymentNotice;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (StatusElement != null)
            {
                dest.StatusElement = (Code <Hl7.Fhir.Model.FinancialResourceStatusCodes>)StatusElement.DeepCopy();
            }
            if (Request != null)
            {
                dest.Request = (Hl7.Fhir.Model.ResourceReference)Request.DeepCopy();
            }
            if (Response != null)
            {
                dest.Response = (Hl7.Fhir.Model.ResourceReference)Response.DeepCopy();
            }
            if (CreatedElement != null)
            {
                dest.CreatedElement = (Hl7.Fhir.Model.FhirDateTime)CreatedElement.DeepCopy();
            }
            if (Provider != null)
            {
                dest.Provider = (Hl7.Fhir.Model.ResourceReference)Provider.DeepCopy();
            }
            if (Payment != null)
            {
                dest.Payment = (Hl7.Fhir.Model.ResourceReference)Payment.DeepCopy();
            }
            if (PaymentDateElement != null)
            {
                dest.PaymentDateElement = (Hl7.Fhir.Model.Date)PaymentDateElement.DeepCopy();
            }
            if (Payee != null)
            {
                dest.Payee = (Hl7.Fhir.Model.ResourceReference)Payee.DeepCopy();
            }
            if (Recipient != null)
            {
                dest.Recipient = (Hl7.Fhir.Model.ResourceReference)Recipient.DeepCopy();
            }
            if (Amount != null)
            {
                dest.Amount = (Hl7.Fhir.Model.Money)Amount.DeepCopy();
            }
            if (PaymentStatus != null)
            {
                dest.PaymentStatus = (Hl7.Fhir.Model.CodeableConcept)PaymentStatus.DeepCopy();
            }
            return(dest);
        }
示例#4
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as AgentComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (Role != null)
                {
                    dest.Role = new List <Hl7.Fhir.Model.CodeableConcept>(Role.DeepCopy());
                }
                if (Who != null)
                {
                    dest.Who = (Hl7.Fhir.Model.DataType)Who.DeepCopy();
                }
                if (OnBehalfOf != null)
                {
                    dest.OnBehalfOf = (Hl7.Fhir.Model.DataType)OnBehalfOf.DeepCopy();
                }
                if (RelatedAgentType != null)
                {
                    dest.RelatedAgentType = (Hl7.Fhir.Model.CodeableConcept)RelatedAgentType.DeepCopy();
                }
                return(dest);
            }
示例#5
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as ProdCharacteristic;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Height != null)
            {
                dest.Height = (Hl7.Fhir.Model.Quantity)Height.DeepCopy();
            }
            if (Width != null)
            {
                dest.Width = (Hl7.Fhir.Model.Quantity)Width.DeepCopy();
            }
            if (Depth != null)
            {
                dest.Depth = (Hl7.Fhir.Model.Quantity)Depth.DeepCopy();
            }
            if (Weight != null)
            {
                dest.Weight = (Hl7.Fhir.Model.Quantity)Weight.DeepCopy();
            }
            if (NominalVolume != null)
            {
                dest.NominalVolume = (Hl7.Fhir.Model.Quantity)NominalVolume.DeepCopy();
            }
            if (ExternalDiameter != null)
            {
                dest.ExternalDiameter = (Hl7.Fhir.Model.Quantity)ExternalDiameter.DeepCopy();
            }
            if (ShapeElement != null)
            {
                dest.ShapeElement = (Hl7.Fhir.Model.FhirString)ShapeElement.DeepCopy();
            }
            if (ColorElement != null)
            {
                dest.ColorElement = new List <Hl7.Fhir.Model.FhirString>(ColorElement.DeepCopy());
            }
            if (ImprintElement != null)
            {
                dest.ImprintElement = new List <Hl7.Fhir.Model.FhirString>(ImprintElement.DeepCopy());
            }
            if (Image != null)
            {
                dest.Image = new List <Hl7.Fhir.Model.Attachment>(Image.DeepCopy());
            }
            if (Scoring != null)
            {
                dest.Scoring = (Hl7.Fhir.Model.CodeableConcept)Scoring.DeepCopy();
            }
            return(dest);
        }
示例#6
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as DeviceComponent;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (Type != null)
                {
                    dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy();
                }
                if (Identifier != null)
                {
                    dest.Identifier = (Hl7.Fhir.Model.Identifier)Identifier.DeepCopy();
                }
                if (LastSystemChangeElement != null)
                {
                    dest.LastSystemChangeElement = (Hl7.Fhir.Model.Instant)LastSystemChangeElement.DeepCopy();
                }
                if (Source != null)
                {
                    dest.Source = (Hl7.Fhir.Model.ResourceReference)Source.DeepCopy();
                }
                if (Parent != null)
                {
                    dest.Parent = (Hl7.Fhir.Model.ResourceReference)Parent.DeepCopy();
                }
                if (OperationalStatus != null)
                {
                    dest.OperationalStatus = new List <Hl7.Fhir.Model.CodeableConcept>(OperationalStatus.DeepCopy());
                }
                if (ParameterGroup != null)
                {
                    dest.ParameterGroup = (Hl7.Fhir.Model.CodeableConcept)ParameterGroup.DeepCopy();
                }
                if (MeasurementPrincipleElement != null)
                {
                    dest.MeasurementPrincipleElement = (Code <Hl7.Fhir.Model.DeviceComponent.Measmnt_Principle>)MeasurementPrincipleElement.DeepCopy();
                }
                if (ProductionSpecification != null)
                {
                    dest.ProductionSpecification = new List <Hl7.Fhir.Model.DeviceComponent.ProductionSpecificationComponent>(ProductionSpecification.DeepCopy());
                }
                if (LanguageCode != null)
                {
                    dest.LanguageCode = (Hl7.Fhir.Model.CodeableConcept)LanguageCode.DeepCopy();
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
示例#7
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as VaccinationProtocolComponent;

                if (dest != null)
                {
                    base.CopyTo(dest);
                    if (DoseSequenceElement != null)
                    {
                        dest.DoseSequenceElement = (Hl7.Fhir.Model.PositiveInt)DoseSequenceElement.DeepCopy();
                    }
                    if (DescriptionElement != null)
                    {
                        dest.DescriptionElement = (Hl7.Fhir.Model.FhirString)DescriptionElement.DeepCopy();
                    }
                    if (Authority != null)
                    {
                        dest.Authority = (Hl7.Fhir.Model.ResourceReference)Authority.DeepCopy();
                    }
                    if (SeriesElement != null)
                    {
                        dest.SeriesElement = (Hl7.Fhir.Model.FhirString)SeriesElement.DeepCopy();
                    }
                    if (SeriesDosesElement != null)
                    {
                        dest.SeriesDosesElement = (Hl7.Fhir.Model.PositiveInt)SeriesDosesElement.DeepCopy();
                    }
                    if (TargetDisease != null)
                    {
                        dest.TargetDisease = new List <Hl7.Fhir.Model.CodeableConcept>(TargetDisease.DeepCopy());
                    }
                    if (DoseStatus != null)
                    {
                        dest.DoseStatus = (Hl7.Fhir.Model.CodeableConcept)DoseStatus.DeepCopy();
                    }
                    if (DoseStatusReason != null)
                    {
                        dest.DoseStatusReason = (Hl7.Fhir.Model.CodeableConcept)DoseStatusReason.DeepCopy();
                    }
                    return(dest);
                }
                else
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }
            }
示例#8
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Flag;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (Identifier != null)
                {
                    dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
                }
                if (Category != null)
                {
                    dest.Category = (Hl7.Fhir.Model.CodeableConcept)Category.DeepCopy();
                }
                if (StatusElement != null)
                {
                    dest.StatusElement = (Code <Hl7.Fhir.Model.Flag.FlagStatus>)StatusElement.DeepCopy();
                }
                if (Period != null)
                {
                    dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
                }
                if (Subject != null)
                {
                    dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
                }
                if (Encounter != null)
                {
                    dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy();
                }
                if (Author != null)
                {
                    dest.Author = (Hl7.Fhir.Model.ResourceReference)Author.DeepCopy();
                }
                if (Code != null)
                {
                    dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
示例#9
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as RelatedDateComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (Date != null)
                {
                    dest.Date = (Hl7.Fhir.Model.DataType)Date.DeepCopy();
                }
                if (Type != null)
                {
                    dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy();
                }
                return(dest);
            }
示例#10
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as PerformerComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (Actor != null)
                {
                    dest.Actor = (Hl7.Fhir.Model.ResourceReference)Actor.DeepCopy();
                }
                if (Role != null)
                {
                    dest.Role = (Hl7.Fhir.Model.CodeableConcept)Role.DeepCopy();
                }
                return(dest);
            }
示例#11
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as CharacteristicsComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (Code != null)
                {
                    dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
                }
                if (Status != null)
                {
                    dest.Status = (Hl7.Fhir.Model.CodeableConcept)Status.DeepCopy();
                }
                return(dest);
            }
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as MedicinalProductInteraction;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Subject != null)
            {
                dest.Subject = new List <Hl7.Fhir.Model.ResourceReference>(Subject.DeepCopy());
            }
            if (DescriptionElement != null)
            {
                dest.DescriptionElement = (Hl7.Fhir.Model.FhirString)DescriptionElement.DeepCopy();
            }
            if (Interactant != null)
            {
                dest.Interactant = new List <Hl7.Fhir.Model.MedicinalProductInteraction.InteractantComponent>(Interactant.DeepCopy());
            }
            if (Type != null)
            {
                dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy();
            }
            if (Effect != null)
            {
                dest.Effect = (Hl7.Fhir.Model.CodeableConcept)Effect.DeepCopy();
            }
            if (Incidence != null)
            {
                dest.Incidence = (Hl7.Fhir.Model.CodeableConcept)Incidence.DeepCopy();
            }
            if (Management != null)
            {
                dest.Management = (Hl7.Fhir.Model.CodeableConcept)Management.DeepCopy();
            }
            return(dest);
        }
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as SuspectEntityComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (Instance != null)
                {
                    dest.Instance = (Hl7.Fhir.Model.ResourceReference)Instance.DeepCopy();
                }
                if (CausalityElement != null)
                {
                    dest.CausalityElement = (Code <Hl7.Fhir.Model.AdverseEvent.AdverseEventCausality>)CausalityElement.DeepCopy();
                }
                if (CausalityAssessment != null)
                {
                    dest.CausalityAssessment = (Hl7.Fhir.Model.CodeableConcept)CausalityAssessment.DeepCopy();
                }
                if (CausalityProductRelatednessElement != null)
                {
                    dest.CausalityProductRelatednessElement = (Hl7.Fhir.Model.FhirString)CausalityProductRelatednessElement.DeepCopy();
                }
                if (CausalityMethod != null)
                {
                    dest.CausalityMethod = (Hl7.Fhir.Model.CodeableConcept)CausalityMethod.DeepCopy();
                }
                if (CausalityAuthor != null)
                {
                    dest.CausalityAuthor = (Hl7.Fhir.Model.ResourceReference)CausalityAuthor.DeepCopy();
                }
                if (CausalityResult != null)
                {
                    dest.CausalityResult = (Hl7.Fhir.Model.CodeableConcept)CausalityResult.DeepCopy();
                }
                return(dest);
            }
示例#14
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as MedicationOrderSubstitutionComponent;

                if (dest != null)
                {
                    base.CopyTo(dest);
                    if (Type != null)
                    {
                        dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy();
                    }
                    if (Reason != null)
                    {
                        dest.Reason = (Hl7.Fhir.Model.CodeableConcept)Reason.DeepCopy();
                    }
                    return(dest);
                }
                else
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }
            }
示例#15
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as CollectionComponent;

                if (dest != null)
                {
                    base.CopyTo(dest);
                    if (Collector != null)
                    {
                        dest.Collector = (Hl7.Fhir.Model.ResourceReference)Collector.DeepCopy();
                    }
                    if (CommentElement != null)
                    {
                        dest.CommentElement = new List <Hl7.Fhir.Model.FhirString>(CommentElement.DeepCopy());
                    }
                    if (Collected != null)
                    {
                        dest.Collected = (Hl7.Fhir.Model.Element)Collected.DeepCopy();
                    }
                    if (Quantity != null)
                    {
                        dest.Quantity = (Hl7.Fhir.Model.SimpleQuantity)Quantity.DeepCopy();
                    }
                    if (Method != null)
                    {
                        dest.Method = (Hl7.Fhir.Model.CodeableConcept)Method.DeepCopy();
                    }
                    if (BodySite != null)
                    {
                        dest.BodySite = (Hl7.Fhir.Model.CodeableConcept)BodySite.DeepCopy();
                    }
                    return(dest);
                }
                else
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }
            }
示例#16
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as StageComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (Summary != null)
                {
                    dest.Summary = (Hl7.Fhir.Model.CodeableConcept)Summary.DeepCopy();
                }
                if (Assessment != null)
                {
                    dest.Assessment = new List <Hl7.Fhir.Model.ResourceReference>(Assessment.DeepCopy());
                }
                if (Type != null)
                {
                    dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy();
                }
                return(dest);
            }
示例#17
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as List;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (TitleElement != null)
            {
                dest.TitleElement = (Hl7.Fhir.Model.FhirString)TitleElement.DeepCopy();
            }
            if (Code != null)
            {
                dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
            }
            if (Subject != null)
            {
                dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
            }
            if (Source != null)
            {
                dest.Source = (Hl7.Fhir.Model.ResourceReference)Source.DeepCopy();
            }
            if (Encounter != null)
            {
                dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy();
            }
            if (StatusElement != null)
            {
                dest.StatusElement = (Code <Hl7.Fhir.Model.List.ListStatus>)StatusElement.DeepCopy();
            }
            if (DateElement != null)
            {
                dest.DateElement = (Hl7.Fhir.Model.FhirDateTime)DateElement.DeepCopy();
            }
            if (OrderedBy != null)
            {
                dest.OrderedBy = (Hl7.Fhir.Model.CodeableConcept)OrderedBy.DeepCopy();
            }
            if (ModeElement != null)
            {
                dest.ModeElement = (Code <Hl7.Fhir.Model.ListMode>)ModeElement.DeepCopy();
            }
            if (NoteElement != null)
            {
                dest.NoteElement = (Hl7.Fhir.Model.FhirString)NoteElement.DeepCopy();
            }
            if (Entry != null)
            {
                dest.Entry = new List <Hl7.Fhir.Model.List.EntryComponent>(Entry.DeepCopy());
            }
            if (EmptyReason != null)
            {
                dest.EmptyReason = (Hl7.Fhir.Model.CodeableConcept)EmptyReason.DeepCopy();
            }
            return(dest);
        }
示例#18
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as CommunicationRequest;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (Category != null)
            {
                dest.Category = (Hl7.Fhir.Model.CodeableConcept)Category.DeepCopy();
            }
            if (Sender != null)
            {
                dest.Sender = (Hl7.Fhir.Model.ResourceReference)Sender.DeepCopy();
            }
            if (Recipient != null)
            {
                dest.Recipient = new List <Hl7.Fhir.Model.ResourceReference>(Recipient.DeepCopy());
            }
            if (Payload != null)
            {
                dest.Payload = new List <Hl7.Fhir.Model.CommunicationRequest.PayloadComponent>(Payload.DeepCopy());
            }
            if (Medium != null)
            {
                dest.Medium = new List <Hl7.Fhir.Model.CodeableConcept>(Medium.DeepCopy());
            }
            if (Requester != null)
            {
                dest.Requester = (Hl7.Fhir.Model.ResourceReference)Requester.DeepCopy();
            }
            if (StatusElement != null)
            {
                dest.StatusElement = (Code <Hl7.Fhir.Model.CommunicationRequest.CommunicationRequestStatus>)StatusElement.DeepCopy();
            }
            if (Encounter != null)
            {
                dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy();
            }
            if (Scheduled != null)
            {
                dest.Scheduled = (Hl7.Fhir.Model.DataType)Scheduled.DeepCopy();
            }
            if (Reason != null)
            {
                dest.Reason = new List <Hl7.Fhir.Model.CodeableConcept>(Reason.DeepCopy());
            }
            if (RequestedOnElement != null)
            {
                dest.RequestedOnElement = (Hl7.Fhir.Model.FhirDateTime)RequestedOnElement.DeepCopy();
            }
            if (Subject != null)
            {
                dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
            }
            if (Priority != null)
            {
                dest.Priority = (Hl7.Fhir.Model.CodeableConcept)Priority.DeepCopy();
            }
            return(dest);
        }
示例#19
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as EligibilityRequest;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (StatusElement != null)
            {
                dest.StatusElement = (Code <Hl7.Fhir.Model.FinancialResourceStatusCodes>)StatusElement.DeepCopy();
            }
            if (Priority != null)
            {
                dest.Priority = (Hl7.Fhir.Model.CodeableConcept)Priority.DeepCopy();
            }
            if (Patient != null)
            {
                dest.Patient = (Hl7.Fhir.Model.ResourceReference)Patient.DeepCopy();
            }
            if (Serviced != null)
            {
                dest.Serviced = (Hl7.Fhir.Model.Element)Serviced.DeepCopy();
            }
            if (CreatedElement != null)
            {
                dest.CreatedElement = (Hl7.Fhir.Model.FhirDateTime)CreatedElement.DeepCopy();
            }
            if (Enterer != null)
            {
                dest.Enterer = (Hl7.Fhir.Model.ResourceReference)Enterer.DeepCopy();
            }
            if (Provider != null)
            {
                dest.Provider = (Hl7.Fhir.Model.ResourceReference)Provider.DeepCopy();
            }
            if (Organization != null)
            {
                dest.Organization = (Hl7.Fhir.Model.ResourceReference)Organization.DeepCopy();
            }
            if (Insurer != null)
            {
                dest.Insurer = (Hl7.Fhir.Model.ResourceReference)Insurer.DeepCopy();
            }
            if (Facility != null)
            {
                dest.Facility = (Hl7.Fhir.Model.ResourceReference)Facility.DeepCopy();
            }
            if (Coverage != null)
            {
                dest.Coverage = (Hl7.Fhir.Model.ResourceReference)Coverage.DeepCopy();
            }
            if (BusinessArrangementElement != null)
            {
                dest.BusinessArrangementElement = (Hl7.Fhir.Model.FhirString)BusinessArrangementElement.DeepCopy();
            }
            if (BenefitCategory != null)
            {
                dest.BenefitCategory = (Hl7.Fhir.Model.CodeableConcept)BenefitCategory.DeepCopy();
            }
            if (BenefitSubCategory != null)
            {
                dest.BenefitSubCategory = (Hl7.Fhir.Model.CodeableConcept)BenefitSubCategory.DeepCopy();
            }
            return(dest);
        }