Skip to content

Commit

Permalink
Merge pull request #135 from PerfectFit-project/389_hrs_pa
Browse files Browse the repository at this point in the history
389 hrs pa
  • Loading branch information
nelealbers authored Jul 31, 2023
2 parents 4cc3045 + 2bd8c7c commit 22c3fbc
Show file tree
Hide file tree
Showing 5 changed files with 264 additions and 55 deletions.
77 changes: 67 additions & 10 deletions Rasa_Bot/actions/actions_relapse_dialogs.py
Original file line number Diff line number Diff line change
Expand Up @@ -770,11 +770,22 @@ def validate_ehbo_me_self(
last_utterance = get_latest_bot_utterance(tracker.events)
if last_utterance != 'utter_ask_ehbo_me_self':
return {"ehbo_me_self": None}

if not validator.validate_number_in_range_response(1, 3, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_1_2_3")
return {"ehbo_me_self": None}

first_aid_kit_filled = tracker.get_slot('first_aid_kit_filled')

if first_aid_kit_filled:

if not validator.validate_number_in_range_response(1, 3, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_1_2_3")
return {"ehbo_me_self": None}

else:
# option 1 not available when first aid kit is empty
if not validator.validate_number_in_range_response(2, 3, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_2_3")
return {"ehbo_me_self": None}

return {"ehbo_me_self": value}

Expand Down Expand Up @@ -1130,13 +1141,59 @@ def validate_ehbo_me_self_lapse(
last_utterance = get_latest_bot_utterance(tracker.events)
if last_utterance != 'utter_ask_ehbo_me_self_lapse':
return {"ehbo_me_self_lapse": None}

if not validator.validate_number_in_range_response(1, 4, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_1_2_3_4")
return {"ehbo_me_self_lapse": None}

first_aid_kit_filled = tracker.get_slot('first_aid_kit_filled')

if first_aid_kit_filled:

if not validator.validate_number_in_range_response(1, 4, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_1_2_3_4")
return {"ehbo_me_self_lapse": None}

else:
# option 1 is removed when the first aid kit is empty
if not validator.validate_number_in_range_response(2, 4, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_2_3_4")
return {"ehbo_me_self_lapse": None}


return {"ehbo_me_self_lapse": value}


class ValidateEhboMeSelfLapsePAForm(FormValidationAction):
def name(self) -> Text:
return 'validate_ehbo_me_self_lapse_pa_form'

def validate_ehbo_me_self_lapse_pa(
self, value: Text, dispatcher: CollectingDispatcher,
tracker: Tracker, domain: Dict[Text, Any]) -> Dict[Text, Any]:
# pylint: disable=unused-argument
"""Validate ehbo, me or self input"""

last_utterance = get_latest_bot_utterance(tracker.events)
if last_utterance != 'utter_ask_ehbo_me_self_lapse_pa':
return {"ehbo_me_self_lapse_pa": None}

first_aid_kit_filled = tracker.get_slot('first_aid_kit_filled')

if first_aid_kit_filled:

if not validator.validate_number_in_range_response(1, 4, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_1_2_3_4")
return {"ehbo_me_self_lapse_pa": None}

else:
# option 1 is removed when the first aid kit is empty
if not validator.validate_number_in_range_response(2, 4, value):
dispatcher.utter_message(response="utter_did_not_understand")
dispatcher.utter_message(response="utter_please_answer_2_3_4")
return {"ehbo_me_self_lapse_pa": None}


return {"ehbo_me_self_lapse_pa": value}


class ValidateRelapseStopNowLaterForm(FormValidationAction):
Expand Down
83 changes: 66 additions & 17 deletions Rasa_Bot/data/rules/rules_relapse_dialog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@ rules:
- action: utter_smoke_crave_6
- action: utter_smoke_crave_7
- action: utter_smoke_crave_8
- action: action_get_first_aid_kit
# In the first aid kit, the first_aid_kit_filled slot influences the conversation.
# So we need to have both possible values here in the rule.
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_form
- active_loop: ehbo_me_self_form
wait_for_user_input: false
Expand Down Expand Up @@ -83,6 +91,12 @@ rules:
- slot_was_set:
- hrs_new_activity_slot: 2
- active_loop: null
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_form
- active_loop: ehbo_me_self_form
wait_for_user_input: false
Expand Down Expand Up @@ -257,6 +271,12 @@ rules:
- crave_lapse_relapse: 1 # hrs
- slot_was_set:
- hrs_activity_slot: 1
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_form
- active_loop: ehbo_me_self_form
wait_for_user_input: false
Expand Down Expand Up @@ -419,6 +439,12 @@ rules:
- action: utter_smoke_lapse_16
- action: utter_smoke_lapse_17
- action: utter_smoke_lapse_18
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_form
wait_for_user_input: false
Expand Down Expand Up @@ -605,6 +631,12 @@ rules:
- crave_lapse_relapse: 3 # relapse
- slot_was_set:
- hrs_activity_slot: 1
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_form
wait_for_user_input: false
Expand Down Expand Up @@ -721,6 +753,12 @@ rules:
- medication_info_slot: 2
- slot_was_set:
- weekly_or_relapse: 1
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_form
wait_for_user_input: false # checkpoint: relapse_ehbo_checkpoint
Expand Down Expand Up @@ -826,7 +864,6 @@ rules:
- action: store_pa_doing_today
- action: store_pa_happened_special
- action: utter_smoke_lapse_12
- action: utter_pa_lapse_5
- action: utter_pa_lapse_6
- action: utter_pa_lapse_7
- action: show_barchart_difficult_situations_pa
Expand Down Expand Up @@ -858,8 +895,14 @@ rules:
- action: utter_pa_lapse_11
- action: utter_pa_lapse_12
- action: utter_pa_lapse_13
- action: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_form
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_lapse_pa_form
- active_loop: ehbo_me_self_lapse_pa_form
wait_for_user_input: false

- rule: Relapse phase triggered PA 5, return to weekly reflection
Expand Down Expand Up @@ -893,12 +936,12 @@ rules:

- rule: pa open ehbo #
condition:
- active_loop: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_pa_form
steps:
- action: ehbo_me_self_lapse_form
- action: ehbo_me_self_lapse_pa_form
- active_loop: null
- slot_was_set:
- ehbo_me_self_lapse: 1
- ehbo_me_self_lapse_pa: 1
- slot_was_set:
- smoke_or_pa: 2 # pa branch
- slot_was_set:
Expand All @@ -914,12 +957,12 @@ rules:

- rule: pa VC suggest and activity #
condition:
- active_loop: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_pa_form
steps:
- action: ehbo_me_self_lapse_form
- action: ehbo_me_self_lapse_pa_form
- active_loop: null
- slot_was_set: # VC chooses an activity
- ehbo_me_self_lapse: 2
- ehbo_me_self_lapse_pa: 2
- slot_was_set:
- smoke_or_pa: 2 # pa branch
- slot_was_set:
Expand All @@ -931,12 +974,12 @@ rules:

- rule: pa user chooses an activity
condition:
- active_loop: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_pa_form
steps:
- action: ehbo_me_self_lapse_form
- action: ehbo_me_self_lapse_pa_form
- active_loop: null
- slot_was_set: # user chooses an activity
- ehbo_me_self_lapse: 3
- ehbo_me_self_lapse_pa: 3
- slot_was_set:
- smoke_or_pa: 2 # pa branch
- slot_was_set:
Expand All @@ -948,12 +991,12 @@ rules:

- rule: pa open ehbo #
condition:
- active_loop: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_pa_form
steps:
- action: ehbo_me_self_lapse_form
- action: ehbo_me_self_lapse_pa_form
- active_loop: null
- slot_was_set:
- ehbo_me_self_lapse: 4
- ehbo_me_self_lapse_pa: 4
- slot_was_set:
- smoke_or_pa: 2 # pa branch
- slot_was_set:
Expand Down Expand Up @@ -1018,8 +1061,14 @@ rules:
- crave_lapse_relapse: null # crave slot is null in this branch
- slot_was_set:
- hrs_activity_slot: 1
- action: ehbo_me_self_lapse_form
- active_loop: ehbo_me_self_lapse_form
- action: action_get_first_aid_kit
- or:
- slot_was_set:
- first_aid_kit_filled: true
- slot_was_set:
- first_aid_kit_filled: false
- action: ehbo_me_self_lapse_pa_form
- active_loop: ehbo_me_self_lapse_pa_form
wait_for_user_input: false

- rule: pa the user has not enough motivation no activity
Expand Down
12 changes: 8 additions & 4 deletions Rasa_Bot/domain/domain_generic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,18 @@ slots:
responses:

### Re-prompts in forms
utter_please_answer_2_3_4:
- text: "Antwoord alsjeblieft met '2', '3' of '4'."
utter_please_answer_2_3:
- text: "Antwoord alsjeblieft met '2' of '3'."
utter_please_answer_1_2:
- text: "Antwoord alsjeblieft met '1,' of '2'."
- text: "Antwoord alsjeblieft met '1' of '2'."
utter_please_answer_1_2_3:
- text: "Antwoord alsjeblieft met '1,' '2,' of '3.'"
- text: "Antwoord alsjeblieft met '1', '2' of '3'."
utter_please_answer_1_2_3_4:
- text: "Antwoord alsjeblieft met '1,' '2,' '3,' of '4.'"
- text: "Antwoord alsjeblieft met '1', '2', '3' of '4'."
utter_please_answer_1_2_3_4_5:
- text: "Antwoord alsjeblieft met '1,' '2,' '3,' '4,' of '5.'"
- text: "Antwoord alsjeblieft met '1', '2', '3', '4' of '5'."
utter_please_answer_1_to_5:
- text: "Kun je een geheel getal tussen 1 en 5 opgeven? ..."
utter_please_answer_1_to_6:
Expand Down
Loading

0 comments on commit 22c3fbc

Please sign in to comment.