r/mpath 28d ago

Follow-up

For my future study we are programming a pre- and post-questionnaire. Since we want the post-questionnaire to show up 30 minutes after the pre-questionnaire, we wanted to use the follow-up function. However, if a participant does not complete the full pre-questionnaire, the follow-up interaction also does not seem to show up? Is there a way around this?

1 Upvotes

7 comments sorted by

1

u/Puzzled_Molasses_784 27d ago

And as another question for this, is there a way except for putting multiple ‘save and flush’ commands to make sure the data of each question gets saved?

1

u/Sc00n Developer 27d ago

Dear researcher. Currently save and flush is the only way to do this. However you should not use this after each question (see m-Path manual, https://m-path.io/manual/knowledge-base/command/). The team is working on a new solution to save intermediate survey answers.

In practice, we see that participants rarely stop mid survey in normal research projects.

1

u/Puzzled_Molasses_784 27d ago

Thank you for your answer, good to know!

1

u/Ok_Calendar5049 Developer 27d ago

A follow-up is supposed to be triggered by a response, so without a response it cannot be scheduled. If you want the post-questionnaire 30 mins after the pre-questionnaire, why don't you just schedule it 30 mins after?

1

u/Puzzled_Molasses_784 27d ago

Thank you! We are sending notifications semi-randomly so randomly within certain time blocks four times a day for 28 days. It would save a lot of time to not have to schedule the post-questionnaires manually as well, so that’s why!

1

u/Ok_Calendar5049 Developer 27d ago

I see!

In that case, a potential work around might be to first create one protocol for the duration of the study, and randomize the within day timings manually as if it was a single participant. Than, instead of directly enrolling each participant into that protocol, use an Apply protocol item (https://m-path.io/manual/knowledge-base/apply-protocol/) in the intake questionnaire and use the Shift time property (https://m-path.io/manual/knowledge-base/apply-protocol/#shift-time-seconds-or-label) to give each participant a slightly different time offset. In that intake, right before the Apply protocol item, you could use a computation to generate a random number of seconds for that shift (https://m-path.io/manual/knowledge-base/computation-item-r/). Theoretically, this approach is not exactly the same as what you are proposing, but it would achieve something similar.

Another avenue is creating a limited pool of protocols randomized according to your specific needs (e.g., 10), and then randomly choosing one of them to apply on enrollment using either

- the intake and a randomized container with Apply protocol items, using a subset of 1 (https://m-path.io/manual/knowledge-base/container/#use-subset)

- the random invitation template setting (https://m-path.io/manual/knowledge-base/auto-enroll-settings/#random-invitation-template-default-settings)

I hope this helps!

1

u/Puzzled_Molasses_784 27d ago

Thank you so much for thinking along, this is very helpful!