Пример #1
0
        /// <summary>
        /// Validates this Organisation
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages, these may be added to within this method</param>
        void IOrganisation.Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            // Validate Identifiers
            // optional fields as organisations may not have a HPIO
            // vb.ArgumentRequiredCheck("Identifiers", Identifiers)

            if (Identifiers != null)
            {
                // Validate each Identifier
                for (var x = 0; x < Identifiers.Count; x++)
                {
                    if (Identifiers[x] != null)
                    {
                        Identifiers[x].Validate(vb.Path + string.Format("Identifiers[{0}]", x), vb.Messages);
                    }
                }
            }

            vb.ArgumentRequiredCheck("Name", Name);

            if (NameUsage.HasValue)
            {
                if (NameUsage != null)
                {
                    vb.NoMatchCheck("NameUsage", NameUsage.Value, OrganisationNameUsage.Undefined);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Validates this Organisation
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages, these may be added to within this method</param>
        public void Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            vb.ArgumentRequiredCheck(path + "Name", Name);

            if (NameUsage.HasValue)
            {
                if (NameUsage != null)
                {
                    vb.NoMatchCheck("NameUsage", NameUsage.Value, Enums.OrganisationNameUsage.Undefined);
                }
            }
        }
        /// <summary>
        /// Validates this entitlement
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages to date, these may be added to within this method</param>
        public void Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            if (vb.ArgumentRequiredCheck("Id", Id))
            {
                if (Id != null)
                {
                    Id.Validate(vb.Path + "Id", vb.Messages);
                }
            }

            vb.NoMatchCheck("Type", Type, EntitlementType.Undefined);
        }
Пример #4
0
        /// <summary>
        /// Validates this EmploymentOrganisation.
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages, these may be added to within this method</param>
        void IEmploymentOrganisation.Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            // Validate Identifiers
            // This is a mandatory field but has been relaxed to make the CDA library more flexible
            if (Identifiers != null)
            {
                // Check for HPIO
                //if (!Identifiers.Select(identifiers => identifiers.AssigningAuthorityName).Contains(HealthIdentifierType.HPIO.GetAttributeValue<NameAttribute, string>(x => x.Code)))
                //{
                //    vb.AddValidationMessage(vb.PathName, null, "At least one HPI-O Required");
                //}

                // Validate each Identifier
                for (var x = 0; x < Identifiers.Count; x++)
                {
                    if (Identifiers[x] != null)
                    {
                        Identifiers[x].Validate(vb.Path + string.Format("Identifiers[{0}]", x), vb.Messages);
                    }
                }
            }

            //vb.ArgumentRequiredCheck("Name", Name);

            if (NameUsage.HasValue)
            {
                vb.NoMatchCheck("NameUsage", NameUsage.Value, OrganisationNameUsage.Undefined);
            }

            // Validate EmploymentOrganisation
            if (EmploymentType != null)
            {
                EmploymentType.Validate(vb.Path + "EmploymentType", vb.Messages);
            }

            if (Occupation != null)
            {
                Occupation.Validate(vb.Path + "Occupation", vb.Messages);
            }

            if (PositionInOrganisation != null)
            {
                PositionInOrganisation.Validate(vb.Path + "PositionInOrganisation", vb.Messages);
            }

            if (Addresses != null)
            {
                // Validate each Identifier
                for (var x = 0; x < Addresses.Count; x++)
                {
                    if (Addresses[x] != null)
                    {
                        Addresses[x].Validate(vb.Path + string.Format("Addresses[{0}]", x), vb.Messages);
                    }
                }
            }

            if (ElectronicCommunicationDetails != null)
            {
                // Validate each Identifier
                for (var x = 0; x < ElectronicCommunicationDetails.Count; x++)
                {
                    if (ElectronicCommunicationDetails[x] != null)
                    {
                        ElectronicCommunicationDetails[x].Validate(vb.Path + string.Format("v[{0}]", x), vb.Messages);
                    }
                }
            }
        }