private void BuildAdminSettingsView(ModuleInstanceView parent)
        {
            var request = new ReadCustomFieldSettingsRequest();
            var customFieldSettings = parent.ProcessRequest<ReadCustomFieldSettingsResponse>(request).CustomFields;

            _viewSettings.AvailableFields.Clear();

            _viewSettings.AvailableFields.Add(new Field("Gender", "Gender", FieldTypes.Text, "Male"));

            var nameField = new Field("ProviderName", "Name", FieldTypes.Text, "Configured Provider Name");
            nameField.AddSetting(new Setting("IncludeNamePrefix", "Name Prefix", SettingFieldType.Boolean, true));
            nameField.AddSetting(new Setting("IncludeFirstName", "First Name", SettingFieldType.Boolean, true));
            nameField.AddSetting(new Setting("IncludeMiddleName", "Middle Name", SettingFieldType.Boolean, true));
            nameField.AddSetting(new Setting("IncludeLastName", "Last Name", SettingFieldType.Boolean, true));
            nameField.AddSetting(new Setting("IncludeNameSuffix", "Name Suffix", SettingFieldType.Boolean, true));
            nameField.AddSetting(new Setting("IncludeAdditionalSuffix", "Additional Suffix", SettingFieldType.Boolean, true));
            _viewSettings.AvailableFields.Add(nameField);

            var appointmentRequestField = new Field("AppointmentRequestLink", "Appointment Request Link", FieldTypes.Hyperlink, "Appointment Request Link") { URL = "#", ShowLabel = false };
            appointmentRequestField.AddSetting(new Setting("AppointmentRequestLinkText", "Link Text", SettingFieldType.Text));
            appointmentRequestField.AddSetting(new Setting("AppointmentRequestPageUrl", "Appointment Request URL", SettingFieldType.Text));
            _viewSettings.AvailableFields.Add(appointmentRequestField);

            _viewSettings.AvailableFields.Add(new Field("DateOfBirth", "Date of Birth", FieldTypes.Text, "9/1/1965"));
            _viewSettings.AvailableFields.Add(new Field("InPracticeSince", "In Practice Since", FieldTypes.Text, "9/1/1990"));
            _viewSettings.AvailableFields.Add(new Field("Age", "Age", FieldTypes.Text, "43"));
            _viewSettings.AvailableFields.Add(new Field("Experience", "Experience", FieldTypes.Text, "20 Years"));
            _viewSettings.AvailableFields.Add(new Field("PrimarySpecialty", "Primary Specialty", FieldTypes.Text, "Allergy/Immunology"));
            _viewSettings.AvailableFields.Add(new Field("PrimaryPhone", "Phone", FieldTypes.Text, "123-555-1234"));
            _viewSettings.AvailableFields.Add(new Field("PrimaryFax", "Fax", FieldTypes.Text, "123-555-1234"));
            _viewSettings.AvailableFields.Add(new Field("PrimaryEmail", "Email", FieldTypes.Text, "*****@*****.**"));
            _viewSettings.AvailableFields.Add(new Field("PrimaryLocationName", "Primary Location Name", FieldTypes.Text, "My Hospital"));
            _viewSettings.AvailableFields.Add(new Field("PrimaryLocationCompleteAddress", "Primary Location Address", FieldTypes.Text, "123 Main St.<br />City, ST 55555"));
            _viewSettings.AvailableFields.Add(new Field("ProviderTypes", "Provider Types", FieldTypes.Multivalue, null) { Values = { "Doctor", "Professor" } });
            _viewSettings.AvailableFields.Add(new Field("ProviderLanguages", "Languages", FieldTypes.Multivalue, null) { Values = { "English", "Spanish" } });
            _viewSettings.AvailableFields.Add(new Field("ClinicalInterests", "Clinical Interests", FieldTypes.Multivalue, null) { Values = { "Cardiology", "Diabetes" } });
            _viewSettings.AvailableFields.Add(new Field("Specialties", "Specialties", FieldTypes.Multivalue, null) { Values = { "Allergy/Immunology", "Cancer" } });
            _viewSettings.AvailableFields.Add(new Field("AboutMe", "About Me", FieldTypes.Html, "This is all about me."));
            _viewSettings.AvailableFields.Add(new Field("PhilosophyOfCare", "Philosophy of Care", FieldTypes.Html, "This is my philosophy of care."));
            _viewSettings.AvailableFields.Add(new Field("AdditionalInfo", "Additional Info", FieldTypes.Html, "This is my additional information"));
            _viewSettings.AvailableFields.Add(new Field("Website", "Website", FieldTypes.Html, "This is my website information"));
            _viewSettings.AvailableFields.Add(BuildEducationsComplexField());
            _viewSettings.AvailableFields.Add(ProviderModuleUtils.BuildBoardCertificationsComplexField());
            _viewSettings.AvailableFields.Add(BuildLocationsComplexField());
            _viewSettings.AvailableFields.Add(new Field("Videos", "Videos", FieldTypes.Html, "This is my video information, or links to my videos."));
            _viewSettings.AvailableFields.Add(new Field("Custom1", customFieldSettings.ProviderCustom1Name, FieldTypes.Html, customFieldSettings.ProviderCustom1Name + " information."));
            _viewSettings.AvailableFields.Add(new Field("Custom2", customFieldSettings.ProviderCustom2Name, FieldTypes.Html, customFieldSettings.ProviderCustom2Name + " information."));
            _viewSettings.AvailableFields.Add(new Field("Custom3", customFieldSettings.ProviderCustom3Name, FieldTypes.Html, customFieldSettings.ProviderCustom3Name + " information."));

            var imageField = new Field("Image", "Provider Image", FieldTypes.Image, null);
            imageField.URL = parent.DefaultProviderImageUrl;
            _viewSettings.AvailableFields.Add(imageField);

            _viewSettings.AvailableFields.AddRange(CommonUtils.BuildDynamicColumnsFields(parent, Constants.ProviderDynamicColumnEntityId));

            _viewSettings.AvailableFields = _viewSettings.AvailableFields.OrderBy(f => f.DisplayName).ToList();

            //Add Conditional Field
            _viewSettings.AvailableFields.Add(CommonUtils.CreateConditionalField(_viewSettings.AvailableFields));
        }
        private Field BuildLocationsComplexField()
        {
            var locationsField = new Field("Locations", "Locations", FieldTypes.Complex, null) { ShowLabel = false };

            locationsField.AvailableFields.Add(new Field("LocationName", "Location Name", FieldTypes.Text, "Baptist Medical Center"));
            locationsField.AvailableFields.Add(new Field("LocationAddress", "Location Address", FieldTypes.Html, "123 Main St.<br />City, ST 55555"));
            locationsField.AvailableFields.Add(new Field("Phone", "Phone", FieldTypes.Text, "123-555-1234"));
            locationsField.AvailableFields.Add(new Field("Fax", "Fax", FieldTypes.Text, "123-555-1234"));
            locationsField.AvailableFields.Add(new Field("AcceptingNewPatients", "Accepting New Patients", FieldTypes.Boolean, true));

            var locationInsuranceField = new Field("Insurances", "Insurances", FieldTypes.Multivalue, null);
            locationInsuranceField.Values.Add("Allstate");
            locationInsuranceField.Values.Add("Aflac");
            locationInsuranceField.Values.Add("State Farm");
            locationsField.AvailableFields.Add(locationInsuranceField);

            var locationServicesField = new Field("Services", "Services", FieldTypes.Multivalue, null);
            locationServicesField.Values.Add("X-Ray");
            locationServicesField.Values.Add("Imaging");
            locationsField.AvailableFields.Add(locationServicesField);

            var locationHoursField = new Field("Hours", "Hours", FieldTypes.Multivalue, null);
            locationHoursField.Values.Add("Monday 8:00-5:00");
            locationHoursField.Values.Add("Tuesday 9:00-5:00");
            locationsField.AvailableFields.Add(locationHoursField);

            var appointmentRequestField = new Field("AppointmentRequestLink", "Appointment Request Link", FieldTypes.Hyperlink, "Appointment Request Link") { URL = "#", ShowLabel = false };
            appointmentRequestField.AddSetting(new Setting("AppointmentRequestLinkText", "Link Text", SettingFieldType.Text));
            appointmentRequestField.AddSetting(new Setting("AppointmentRequestPageUrl", "Appointment Request URL", SettingFieldType.Text));
            locationsField.AvailableFields.Add(appointmentRequestField);

            var mapField = new Field("Map", "Map", FieldTypes.Map, "mapDiv_1") { ShowLabel = false };
            mapField.MapItem = new MapItem()
            {
                Title = "Baptist Medical Center",
                Latitude = "34",
                Longitude = "-93",
                LocationAddress = "3000 Galleria Circle, Birmingam, AL 35244",
                LocationPhoneNum = "555-4444"
            };
            locationsField.AvailableFields.Add(mapField);

            locationsField.AvailableFields = locationsField.AvailableFields.OrderBy(f => f.DisplayName).ToList();

            return locationsField;
        }