private async Task <DialogTurnResult> PromptForPhysicalTherapyHistoryAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); var psychiatricCare = (bool)stepContext.Result; demographics.PsychiatricCare = BackPainTranslations.YesNo(psychiatricCare); if (psychiatricCare) { await stepContext.Context.SendActivityAsync(MessageFactory.Text("I know that can be hard to admit some times, but sharing that information will definitely help us with the diagnosis."), cancellationToken); await Task.Delay(150, cancellationToken); } return(await stepContext.PromptAsync( Prompts.PhysicalTherapyHistory, new PromptOptions { Prompt = MessageFactory.Text("Have you ever had physical therapy?"), }, cancellationToken)); }
private async Task <DialogTurnResult> PromptForOpioidUseAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); demographics.FecalIncontinence = BackPainTranslations.YesNo((bool)stepContext.Result); return(await stepContext.PromptAsync( Prompts.OpioidUse, new PromptOptions { Prompt = MessageFactory.Text("Are you, or have you recently been an opioid user?"), }, cancellationToken)); }
private async Task <DialogTurnResult> PromptForFecalIncontinenceHistoryAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); demographics.Fever = BackPainTranslations.YesNo((bool)stepContext.Result); return(await stepContext.PromptAsync( Prompts.FecalIncontinenceHistory, new PromptOptions { Prompt = MessageFactory.Text("I know the next question stinks, but I have to ask. Have you suffered from fecal incontinence in association with your back pain?"), }, cancellationToken)); }
private async Task <DialogTurnResult> PromptForFeverHistoryAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); demographics.PreviousBackSurgery = BackPainTranslations.YesNo((bool)stepContext.Result); return(await stepContext.PromptAsync( Prompts.FeverHistory, new PromptOptions { Prompt = MessageFactory.Text("Is or was your back pain associated with fever?"), }, cancellationToken)); }
private async Task <DialogTurnResult> PromptForPreviousBackSurgeryHistoryAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); demographics.CognitiveBehavioralTherapy = BackPainTranslations.YesNo((bool)stepContext.Result); return(await stepContext.PromptAsync( Prompts.PreviousBackSurgeryHistory, new PromptOptions { Prompt = MessageFactory.Text("Have you had back surgery before?"), }, cancellationToken)); }
private async Task <DialogTurnResult> PromptForPsychCareHistoryAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); demographics.CancerHistory = BackPainTranslations.YesNo((bool)stepContext.Result); return(await stepContext.PromptAsync( Prompts.PsychCareHistory, new PromptOptions { Prompt = MessageFactory.Text("Have you ever received psychiatric care?"), }, cancellationToken)); }
private async Task <DialogTurnResult> PromptForLevelOfPainAsync( WaterfallStepContext stepContext, CancellationToken cancellationToken) { var demographics = await _accessors.BackPainDemographics.GetAsync( stepContext.Context, () => new BackPainDemographics(), cancellationToken); demographics.OpioidUse = BackPainTranslations.YesNo((bool)stepContext.Result); return(await stepContext.PromptAsync( Prompts.LevelOfPain, new PromptOptions { Prompt = MessageFactory.Text("How much pain are you in (1 is lowest, 10 is highest)?"), Choices = BackPainTranslations.PainLevelOptions, }, cancellationToken)); }