private async Task FetchSampleItemsAsync()
        {
            ListRefreshing = true;

            try
            {
                FetchModelCollectionResult <SampleItem> fetchResult = await _repository.FetchSampleItemsAsync();

                if (fetchResult.IsValid())
                {
                    SampleItems = fetchResult.ModelCollection.AsObservableCollection();

                    ListRefreshing = false;
                }
                else
                {
                    ListRefreshing = false;
                    await CC.UserNotifier.ShowMessageAsync(fetchResult.Notification.ToString(), "Fetch Sample Items Failed");
                }
            }
            finally
            {
                ListRefreshing = false;
            }
        }
        private async Task FetchAppointmentsAsync()
        {
            ShowBusy("fetching health records");

            try
            {
                FetchModelCollectionResult <Appointment> fetchResult = await _repository.FetchAppointmentsAsync(CurrentUser.Id, null);

                if (fetchResult.IsValid())
                {
                    Appointments = fetchResult.ModelCollection.AsObservableCollection();
                    await Task.Delay(1000); //simulate fetching online data
                }
                else
                {
                    NotBusy();
                    await CC.UserNotifier.ShowMessageAsync(fetchResult.Notification.ToString(), "Fetch Appointments Failed :(");
                }
            }
            finally
            {
                NotBusy();
            }
        }