public ExternalPractitionerTable(ExternalPractitionerMergeSelectedDuplicateComponent owner)
            {
                _owner = owner;

                var nameColumn = new TableColumn <ExternalPractitionerSummary, string>(SR.ColulmnPractitionerName,
                                                                                       prac => PersonNameFormat.Format(prac.Name), 0.5f)
                {
                    ClickLinkDelegate = _owner.LaunchSelectedPractitionerPreview
                };

                var licenseColumn = new TableColumn <ExternalPractitionerSummary, string>(SR.ColumnLicenseNumber,
                                                                                          prac => prac.LicenseNumber, 0.25f);

                var billingColumn = new TableColumn <ExternalPractitionerSummary, string>(SR.ColumnBillingNumber,
                                                                                          prac => prac.BillingNumber, 0.25f);

                this.Columns.Add(nameColumn);
                this.Columns.Add(licenseColumn);
                this.Columns.Add(billingColumn);
            }
        public override void Start()
        {
            this.Pages.Add(new NavigatorPage(SR.TitleSelectDuplicate, _selectedDuplicateComponent                 = new ExternalPractitionerMergeSelectedDuplicateComponent(_specifiedDuplicatePractitionerRef)));
            this.Pages.Add(new NavigatorPage(SR.TitleResolvePropertyConflicts, _mergePropertiesComponent          = new ExternalPractitionerMergePropertiesComponent()));
            this.Pages.Add(new NavigatorPage(SR.TitleSelectActiveContactPoints, _selectContactPointsComponent     = new ExternalPractitionerSelectDisabledContactPointsComponent()));
            this.Pages.Add(new NavigatorPage(SR.TitleReplaceInactiveContactPoints, _replaceContactPointsComponent = new ExternalPractitionerReplaceDisabledContactPointsComponent()));
            this.Pages.Add(new NavigatorPage(SR.TitlePreviewMergedPractitioner, _confirmationComponent            = new ExternalPractitionerOverviewComponent()));
            this.ValidationStrategy = new AllComponentsValidationStrategy();

            _selectedDuplicateComponent.SelectedPractitionerChanged    += delegate { this.ForwardEnabled = _selectedDuplicateComponent.HasValidationErrors == false; };
            _selectContactPointsComponent.ContactPointSelectionChanged += delegate { this.ForwardEnabled = _selectContactPointsComponent.HasValidationErrors == false; };

            base.Start();

            // Start the component with forward button disabled.
            // The button will be enabled if there is a practitioner selected.
            this.ForwardEnabled = false;

            // Immediately activate validation after component start
            this.ShowValidation(true);
        }