void RaisePatternChangedEvent()
        {
            // Text is the ComboBox.Text
            PatternChangedEventArgs args = new PatternChangedEventArgs(Text);

            RaiseEvent(args);
        }
        /// <summary>
        /// The PatternChangedEvent handler --- called from the routed event. Update the patient list when text input from AutoCompleteComboBox.
        /// This event is run from the UI thread. It has access to the patientListByLastName and patientListByFirstName which are UI thread bound.
        /// ListByLastName and ListByFirstName are filled by a background thread before calling RefreshAutoCompleteComboBox.
        ///
        /// Came here from: SchedulingCustomControls.dll!SchedulingCustomControls.AutoCompleteComboBox.RaisePatternChangedEvent()
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void PatternChanged(object sender, PatternChangedEventArgs e)
        {
            await LoadingComboBoxes;

            await FilterPatientNamesAsync(AllPatientNames);

            patientListByFirstName = ListByFirstName;
            patientListByLastName  = ListByLastName;
            patientListByBirthDate = ListByBirthDate;
        }