public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as Procedure; if (dest != null) { base.CopyTo(dest); if (Identifier != null) { dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy()); } if (Subject != null) { dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy(); } if (Type != null) { dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy(); } if (BodySite != null) { dest.BodySite = new List <Hl7.Fhir.Model.CodeableConcept>(BodySite.DeepCopy()); } if (Indication != null) { dest.Indication = new List <Hl7.Fhir.Model.CodeableConcept>(Indication.DeepCopy()); } if (Performer != null) { dest.Performer = new List <Hl7.Fhir.Model.Procedure.ProcedurePerformerComponent>(Performer.DeepCopy()); } if (Date != null) { dest.Date = (Hl7.Fhir.Model.Period)Date.DeepCopy(); } if (Encounter != null) { dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy(); } if (OutcomeElement != null) { dest.OutcomeElement = (Hl7.Fhir.Model.FhirString)OutcomeElement.DeepCopy(); } if (Report != null) { dest.Report = new List <Hl7.Fhir.Model.ResourceReference>(Report.DeepCopy()); } if (Complication != null) { dest.Complication = new List <Hl7.Fhir.Model.CodeableConcept>(Complication.DeepCopy()); } if (FollowUpElement != null) { dest.FollowUpElement = (Hl7.Fhir.Model.FhirString)FollowUpElement.DeepCopy(); } if (RelatedItem != null) { dest.RelatedItem = new List <Hl7.Fhir.Model.Procedure.ProcedureRelatedItemComponent>(RelatedItem.DeepCopy()); } if (NotesElement != null) { dest.NotesElement = (Hl7.Fhir.Model.FhirString)NotesElement.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 (Subject != null) { result.AddRange(Subject.Validate()); } if (Type != null) { result.AddRange(Type.Validate()); } if (BodySite != null) { BodySite.ForEach(elem => result.AddRange(elem.Validate())); } if (IndicationElement != null) { result.AddRange(IndicationElement.Validate()); } if (Performer != null) { Performer.ForEach(elem => result.AddRange(elem.Validate())); } if (Date != null) { result.AddRange(Date.Validate()); } if (Encounter != null) { result.AddRange(Encounter.Validate()); } if (OutcomeElement != null) { result.AddRange(OutcomeElement.Validate()); } if (Report != null) { Report.ForEach(elem => result.AddRange(elem.Validate())); } if (ComplicationElement != null) { result.AddRange(ComplicationElement.Validate()); } if (FollowUpElement != null) { result.AddRange(FollowUpElement.Validate()); } if (RelatedItem != null) { RelatedItem.ForEach(elem => result.AddRange(elem.Validate())); } if (NotesElement != null) { result.AddRange(NotesElement.Validate()); } return(result); }