public override ErrorList Validate()
            {
                var result = new ErrorList();

                result.AddRange(base.Validate());

                if (DosageInstructionsTextElement != null)
                {
                    result.AddRange(DosageInstructionsTextElement.Validate());
                }
                if (AdditionalInstructions != null)
                {
                    result.AddRange(AdditionalInstructions.Validate());
                }
                if (Timing != null)
                {
                    result.AddRange(Timing.Validate());
                }
                if (Site != null)
                {
                    result.AddRange(Site.Validate());
                }
                if (Route != null)
                {
                    result.AddRange(Route.Validate());
                }
                if (Method != null)
                {
                    result.AddRange(Method.Validate());
                }
                if (DoseQuantity != null)
                {
                    result.AddRange(DoseQuantity.Validate());
                }
                if (Rate != null)
                {
                    result.AddRange(Rate.Validate());
                }
                if (MaxDosePerPeriod != null)
                {
                    result.AddRange(MaxDosePerPeriod.Validate());
                }

                return(result);
            }
        public override ErrorList Validate()
        {
            var result = new ErrorList();

            result.AddRange(base.Validate());

            if (DateElement != null)
            {
                result.AddRange(DateElement.Validate());
            }
            if (VaccineType != null)
            {
                result.AddRange(VaccineType.Validate());
            }
            if (Subject != null)
            {
                result.AddRange(Subject.Validate());
            }
            if (RefusedIndicatorElement != null)
            {
                result.AddRange(RefusedIndicatorElement.Validate());
            }
            if (ReportedElement != null)
            {
                result.AddRange(ReportedElement.Validate());
            }
            if (Performer != null)
            {
                result.AddRange(Performer.Validate());
            }
            if (Requester != null)
            {
                result.AddRange(Requester.Validate());
            }
            if (Manufacturer != null)
            {
                result.AddRange(Manufacturer.Validate());
            }
            if (Location != null)
            {
                result.AddRange(Location.Validate());
            }
            if (LotNumberElement != null)
            {
                result.AddRange(LotNumberElement.Validate());
            }
            if (ExpirationDateElement != null)
            {
                result.AddRange(ExpirationDateElement.Validate());
            }
            if (Site != null)
            {
                result.AddRange(Site.Validate());
            }
            if (Route != null)
            {
                result.AddRange(Route.Validate());
            }
            if (DoseQuantity != null)
            {
                result.AddRange(DoseQuantity.Validate());
            }
            if (Explanation != null)
            {
                result.AddRange(Explanation.Validate());
            }
            if (Reaction != null)
            {
                Reaction.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (VaccinationProtocol != null)
            {
                result.AddRange(VaccinationProtocol.Validate());
            }

            return(result);
        }