Arjun Moorthy commited on
Commit
2f55690
·
1 Parent(s): 1f6bf06

Add essential OncoLife documents (excluding PDFs due to binary file restrictions)

Browse files
Oncolife/guideline-docs/WrittenChatbotDocument (1).docx ADDED
Binary file (17.8 kB). View file
 
Oncolife/guideline-docs/oncolife_alerts_configuration (1).docx ADDED
Binary file (23.2 kB). View file
 
Oncolife/guideline-docs/questions.json ADDED
@@ -0,0 +1,840 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "id": "severity_rating_fever",
4
+ "symptom": "fever",
5
+ "phase": "short",
6
+ "text": "How bad is your fever on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
7
+ "data_attribute": "subjective_severity"
8
+ },
9
+ {
10
+ "id": "fever_short_temp",
11
+ "text": "What is your temperature? If your temperature is greater than 100.4°F, please specify.",
12
+ "symptom": "fever",
13
+ "data_attribute": "temp_f",
14
+ "phase": "short"
15
+ },
16
+ {
17
+ "id": "fever_short_medication",
18
+ "text": "Have you taken fever-reducing medications today?",
19
+ "symptom": "fever",
20
+ "data_attribute": "fever_med_taken",
21
+ "phase": "short"
22
+ },
23
+ {
24
+ "id": "fever_short_med_details",
25
+ "text": "What medication did you take and how often did you take it?",
26
+ "symptom": "fever",
27
+ "data_attribute": "fever_med_details",
28
+ "phase": "short"
29
+ },
30
+ {
31
+ "id": "fever_long_breathing",
32
+ "text": "Are you having any trouble breathing?",
33
+ "symptom": "fever",
34
+ "data_attribute": "trouble_breathing",
35
+ "phase": "long"
36
+ },
37
+ {
38
+ "id": "fever_long_symptoms_select",
39
+ "text": "Select all that you are currently experiencing: Rapid heartbeat (heart rate >100), nausea, vomiting, abdominal pain, diarrhea, redness around the port, cough.",
40
+ "symptom": "fever",
41
+ "data_attribute": "other_symptoms",
42
+ "phase": "long"
43
+ },
44
+ {
45
+ "id": "fever_long_dizzy_confused_urination",
46
+ "text": "Do you feel dizzy, confused, or experience burning on urination?",
47
+ "symptom": "fever",
48
+ "data_attribute": "dizzy_confused_urination",
49
+ "phase": "long"
50
+ },
51
+ {
52
+ "id": "fever_long_intake",
53
+ "text": "How much have you been able to eat or drink in the last 24 hours? Select: About the same as usual; Less than half; Almost nothing; I haven't eaten or had anything to drink.",
54
+ "symptom": "fever",
55
+ "data_attribute": "oral_intake_pct",
56
+ "phase": "long"
57
+ },
58
+ {
59
+ "id": "fever_long_self_care",
60
+ "text": "Are you able to perform daily self care like bathing and dressing yourself?",
61
+ "symptom": "fever",
62
+ "data_attribute": "self_care_ability",
63
+ "phase": "long"
64
+ },
65
+
66
+ {
67
+ "id": "nausea_short_rating",
68
+ "text": "How bad is your nausea on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
69
+ "symptom": "nausea",
70
+ "data_attribute": "nausea_rating",
71
+ "phase": "short"
72
+ },
73
+ {
74
+ "id": "nausea_short_days",
75
+ "text": "How many days have you been nauseated?",
76
+ "symptom": "nausea",
77
+ "data_attribute": "days_in_a_row",
78
+ "phase": "short"
79
+ },
80
+ {
81
+ "id": "nausea_short_intake",
82
+ "text": "How much have you been able to eat or drink in the last 24 hours? Select: About the same as usual; Less than half; Almost nothing; I haven't eaten or had anything to drink.",
83
+ "symptom": "nausea",
84
+ "data_attribute": "oral_intake_pct",
85
+ "phase": "short"
86
+ },
87
+ {
88
+ "id": "nausea_short_med",
89
+ "text": "Are you taking anti-nausea medications?",
90
+ "symptom": "nausea",
91
+ "data_attribute": "anti_nausea_med_taken",
92
+ "phase": "short"
93
+ },
94
+ {
95
+ "id": "nausea_short_med_details",
96
+ "text": "If yes, what medication did you take and how often?",
97
+ "symptom": "nausea",
98
+ "data_attribute": "med_details",
99
+ "phase": "short"
100
+ },
101
+ {
102
+ "id": "nausea_long_vomit",
103
+ "text": "Have you vomited in the last 24 hours? If so, how many times?",
104
+ "symptom": "nausea",
105
+ "data_attribute": "vomit_count_24h",
106
+ "phase": "long"
107
+ },
108
+ {
109
+ "id": "nausea_long_abdominal_pain",
110
+ "text": "Are you experiencing abdominal pain or cramping?",
111
+ "symptom": "nausea",
112
+ "data_attribute": "abdominal_pain_presence",
113
+ "phase": "long"
114
+ },
115
+ {
116
+ "id": "nausea_long_weight_loss",
117
+ "text": "Any weight loss?",
118
+ "symptom": "nausea",
119
+ "data_attribute": "weight_loss",
120
+ "phase": "long"
121
+ },
122
+ {
123
+ "id": "nausea_long_fever",
124
+ "text": "Any fever > 100.4°F?",
125
+ "symptom": "nausea",
126
+ "data_attribute": "temp_f",
127
+ "phase": "long"
128
+ },
129
+ {
130
+ "id": "nausea_long_urine_color",
131
+ "text": "What color is your urine?",
132
+ "symptom": "nausea",
133
+ "data_attribute": "urine_color",
134
+ "phase": "long"
135
+ },
136
+ {
137
+ "id": "nausea_long_urine_amount",
138
+ "text": "Is the amount of urine in the last 12 hours a lot less than your usual amount?",
139
+ "symptom": "nausea",
140
+ "data_attribute": "urine_output_pct",
141
+ "phase": "long"
142
+ },
143
+ {
144
+ "id": "nausea_long_thirsty",
145
+ "text": "Are you very thirsty?",
146
+ "symptom": "nausea",
147
+ "data_attribute": "thirst_presence",
148
+ "phase": "long"
149
+ },
150
+ {
151
+ "id": "nausea_long_lightheaded",
152
+ "text": "Are you lightheaded?",
153
+ "symptom": "nausea",
154
+ "data_attribute": "lightheaded_presence",
155
+ "phase": "long"
156
+ },
157
+ {
158
+ "id": "nausea_long_self_care",
159
+ "text": "Are you able to perform self care activities?",
160
+ "symptom": "nausea",
161
+ "data_attribute": "self_care_ability",
162
+ "phase": "long"
163
+ },
164
+ {
165
+ "id": "vomiting_short_med_rating",
166
+ "text": "How bad is your vomiting on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
167
+ "symptom": "vomiting",
168
+ "data_attribute": "vomit_rating",
169
+ "phase": "short"
170
+ },
171
+ {
172
+ "id": "vomiting_short_days",
173
+ "text": "How many days have you been vomiting?",
174
+ "symptom": "vomiting",
175
+ "data_attribute": "days_in_a_row",
176
+ "phase": "short"
177
+ },
178
+ {
179
+ "id": "vomiting_short_times",
180
+ "text": "How many times have you vomited in the last 24 hours?",
181
+ "symptom": "vomiting",
182
+ "data_attribute": "vomit_count_24h",
183
+ "phase": "short"
184
+ },
185
+ {
186
+ "id": "vomiting_short_intake",
187
+ "text": "How much have you been able to eat or drink in the last 12 hours? Select: About the same as usual; Less than half; Almost nothing; I haven't eaten or had anything to drink.",
188
+ "symptom": "vomiting",
189
+ "data_attribute": "oral_intake_pct",
190
+ "phase": "short"
191
+ },
192
+ {
193
+ "id": "vomiting_short_followup",
194
+ "text": "If moderate over 3 days: you've had this symptom for a few days. Are your medications resulting in the symptom getting worse, staying the same, or improving?",
195
+ "symptom": "vomiting",
196
+ "data_attribute": "med_effect_trend",
197
+ "phase": "short"
198
+ },
199
+ {
200
+ "id": "vomiting_long_abdominal_pain",
201
+ "text": "Do you have abdominal pain or cramping?",
202
+ "symptom": "vomiting",
203
+ "data_attribute": "abdominal_pain_presence",
204
+ "phase": "long"
205
+ },
206
+ {
207
+ "id": "vomiting_long_constipated",
208
+ "text": "Are you constipated?",
209
+ "symptom": "vomiting",
210
+ "data_attribute": "constipation_presence",
211
+ "phase": "long"
212
+ },
213
+ {
214
+ "id": "vomiting_long_bowel_movement_count",
215
+ "text": "How many bowel movements do you have a day?",
216
+ "symptom": "vomiting",
217
+ "data_attribute": "bowel_movements_per_day",
218
+ "phase": "long"
219
+ },
220
+ {
221
+ "id": "vomiting_long_diarrhea",
222
+ "text": "Do you have diarrhea?",
223
+ "symptom": "vomiting",
224
+ "data_attribute": "diarrhea_presence",
225
+ "phase": "long"
226
+ },
227
+ {
228
+ "id": "vomiting_long_functional_impact",
229
+ "text": "Has your vomiting affected your ability to do daily household work?",
230
+ "symptom": "vomiting",
231
+ "data_attribute": "functional_impact",
232
+ "phase": "long"
233
+ },
234
+ {
235
+ "id": "vomiting_long_self_care",
236
+ "text": "Are you able to perform daily self care like bathing and dressing yourself?",
237
+ "symptom": "vomiting",
238
+ "data_attribute": "self_care_ability",
239
+ "phase": "long"
240
+ },
241
+
242
+ {
243
+ "id": "diarrhea_short_rating",
244
+ "text": "How bad is your diarrhea on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
245
+ "symptom": "diarrhea",
246
+ "data_attribute": "diarrhea_rating",
247
+ "phase": "short"
248
+ },
249
+ {
250
+ "id": "diarrhea_short_days",
251
+ "text": "How many days have you had diarrhea?",
252
+ "symptom": "diarrhea",
253
+ "data_attribute": "days_in_a_row",
254
+ "phase": "short"
255
+ },
256
+ {
257
+ "id": "diarrhea_short_loose_stools",
258
+ "text": "How many loose stools have you had in the last 24 hours?",
259
+ "symptom": "diarrhea",
260
+ "data_attribute": "loose_stools_per_day",
261
+ "phase": "short"
262
+ },
263
+ {
264
+ "id": "diarrhea_short_abdominal_pain",
265
+ "text": "Do you have abdominal pain or cramping?",
266
+ "symptom": "diarrhea",
267
+ "data_attribute": "abdominal_pain_presence",
268
+ "phase": "short"
269
+ },
270
+ {
271
+ "id": "diarrhea_short_stool_type",
272
+ "text": "Is your stool: Black, Bloody, Contains mucus, Normal, Other (select all that apply)?",
273
+ "symptom": "diarrhea",
274
+ "data_attribute": "stool_contains",
275
+ "phase": "short"
276
+ },
277
+ {
278
+ "id": "diarrhea_short_other_description",
279
+ "text": "If Other, describe your stool.",
280
+ "symptom": "diarrhea",
281
+ "data_attribute": "stool_description",
282
+ "phase": "short"
283
+ },
284
+ {
285
+ "id": "diarrhea_short_med",
286
+ "text": "Have you taken anti-diarrhea medications as prescribed?",
287
+ "symptom": "diarrhea",
288
+ "data_attribute": "antidiarrheal_med_taken",
289
+ "phase": "short"
290
+ },
291
+ {
292
+ "id": "diarrhea_short_med_details",
293
+ "text": "What did you take and how often?",
294
+ "symptom": "diarrhea",
295
+ "data_attribute": "med_details",
296
+ "phase": "short"
297
+ },
298
+ {
299
+ "id": "diarrhea_short_intake",
300
+ "text": "How much have you been able to eat or drink in the last 12 hours? Select: About the same as usual; Less than half; Almost nothing; I haven't eaten or had anything to drink.",
301
+ "symptom": "diarrhea",
302
+ "data_attribute": "oral_intake_pct",
303
+ "phase": "short"
304
+ },
305
+
306
+ {
307
+ "id": "diarrhea_short_followup",
308
+ "text": "If moderate over 3 days: you've had this symptom for a few days. Are your medications resulting in the symptom getting worse, staying the same, or improving?",
309
+ "symptom": "diarrhea",
310
+ "data_attribute": "med_effect_trend",
311
+ "phase": "short"
312
+ },
313
+ {
314
+ "id": "diarrhea_long_self_care",
315
+ "text": "Are you able to perform daily self-care activities (e.g., bathing, dressing)?",
316
+ "symptom": "diarrhea",
317
+ "data_attribute": "self_care_ability",
318
+ "phase": "long"
319
+ },
320
+ {
321
+ "id": "diarrhea_long_functional_impact",
322
+ "text": "Has the diarrhea affected your ability to do daily activities such as household work, eating, moving around?",
323
+ "symptom": "diarrhea",
324
+ "data_attribute": "functional_impact",
325
+ "phase": "long"
326
+ },
327
+ {
328
+ "id": "diarrhea_long_fever",
329
+ "text": "Any fever > 100.4°F?",
330
+ "symptom": "diarrhea",
331
+ "data_attribute": "temp_f",
332
+ "phase": "long"
333
+ },
334
+ {
335
+ "id": "diarrhea_long_nausea_vomiting",
336
+ "text": "Any nausea or vomiting?",
337
+ "symptom": "diarrhea",
338
+ "data_attribute": "nausea_or_vomiting",
339
+ "phase": "long"
340
+ },
341
+ {
342
+ "id": "diarrhea_long_urine_color",
343
+ "text": "What color is your urine?",
344
+ "symptom": "diarrhea",
345
+ "data_attribute": "urine_color",
346
+ "phase": "long"
347
+ },
348
+ {
349
+ "id": "diarrhea_long_urine_amount",
350
+ "text": "Is the amount of urine in the last 12 hours a lot less than your usual amount?",
351
+ "symptom": "diarrhea",
352
+ "data_attribute": "urine_output_pct",
353
+ "phase": "long"
354
+ },
355
+ {
356
+ "id": "diarrhea_long_thirsty_lightheaded",
357
+ "text": "Are you very thirsty or lightheaded?",
358
+ "symptom": "diarrhea",
359
+ "data_attribute": "thirst_or_lightheaded",
360
+ "phase": "long"
361
+ },
362
+
363
+ {
364
+ "id": "severity_rating_bleeding",
365
+ "symptom": "bleeding",
366
+ "phase": "short",
367
+ "text": "How bad is your bleeding on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
368
+ "data_attribute": "subjective_severity"
369
+ },
370
+ {
371
+ "id": "bleeding_short_pressure",
372
+ "text": "Are you experiencing bleeding that won't stop after applying pressure?",
373
+ "symptom": "bleeding",
374
+ "data_attribute": "bleeding_persists_after_pressure",
375
+ "phase": "short"
376
+ },
377
+ {
378
+ "id": "bleeding_short_blood_stool_urine",
379
+ "text": "Do you have a lot of blood in your stool or urine?",
380
+ "symptom": "bleeding",
381
+ "data_attribute": "blood_in_stool_or_urine",
382
+ "phase": "short"
383
+ },
384
+ {
385
+ "id": "bleeding_short_injury",
386
+ "text": "Did you injure yourself?",
387
+ "symptom": "bleeding",
388
+ "data_attribute": "injury_presence",
389
+ "phase": "short"
390
+ },
391
+ {
392
+ "id": "bleeding_short_anticoagulants",
393
+ "text": "Are you on blood thinners (e.g., Xarelto, Eliquis, Coumadin, Plavix)?",
394
+ "symptom": "bleeding",
395
+ "data_attribute": "on_anticoagulants",
396
+ "phase": "short"
397
+ },
398
+ {
399
+ "id": "bleeding_short_bruising_location",
400
+ "text": "Is the bruising in one area of your body or all over?",
401
+ "symptom": "bleeding",
402
+ "data_attribute": "bruise_distribution",
403
+ "phase": "short"
404
+ },
405
+
406
+ {
407
+ "id": "fatigue_short_rating",
408
+ "text": "How bad is your fatigue on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
409
+ "symptom": "fatigue",
410
+ "data_attribute": "fatigue_rating",
411
+ "phase": "short"
412
+ },
413
+ {
414
+ "id": "fatigue_short_days",
415
+ "text": "How many days have you been experiencing fatigue?",
416
+ "symptom": "fatigue",
417
+ "data_attribute": "days_in_a_row",
418
+ "phase": "short"
419
+ },
420
+ {
421
+ "id": "fatigue_short_interference",
422
+ "text": "Is your fatigue interfering with daily activities like household chores or work?",
423
+ "symptom": "fatigue",
424
+ "data_attribute": "functional_impact",
425
+ "phase": "short"
426
+ },
427
+ {
428
+ "id": "fatigue_short_followup",
429
+ "text": "If moderate over 3 days: you've had this symptom for a few days. Is it getting worse, staying the same, or improving?",
430
+ "symptom": "fatigue",
431
+ "data_attribute": "fatigue_trend",
432
+ "phase": "short"
433
+ },
434
+ {
435
+ "id": "fatigue_long_sleep_hours",
436
+ "text": "How many hours are you sleeping/spending in bed each day due to fatigue?",
437
+ "symptom": "fatigue",
438
+ "data_attribute": "sleep_hours",
439
+ "phase": "long"
440
+ },
441
+ {
442
+ "id": "fatigue_long_self_care",
443
+ "text": "Has the fatigue affected your ability to bathe, dress, or feed yourself without help?",
444
+ "symptom": "fatigue",
445
+ "data_attribute": "functional_impact",
446
+ "phase": "long"
447
+ },
448
+ {
449
+ "id": "fatigue_long_associated_symptoms",
450
+ "text": "Do you have fever, nausea, vomiting, diarrhea, or lack of appetite?",
451
+ "symptom": "fatigue",
452
+ "data_attribute": "associated_symptoms",
453
+ "phase": "long"
454
+ },
455
+
456
+ {
457
+ "id": "eye_short_rating",
458
+ "text": "How bad are your eye complaints on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
459
+ "symptom": "eye_complaints",
460
+ "data_attribute": "eye_severity",
461
+ "phase": "short"
462
+ },
463
+ {
464
+ "id": "eye_short_new",
465
+ "text": "Are your eye symptoms new?",
466
+ "symptom": "eye_complaints",
467
+ "data_attribute": "new_symptom",
468
+ "phase": "short"
469
+ },
470
+ {
471
+ "id": "eye_short_pain",
472
+ "text": "Are you experiencing pain?",
473
+ "symptom": "eye_complaints",
474
+ "data_attribute": "eye_pain",
475
+ "phase": "short"
476
+ },
477
+ {
478
+ "id": "eye_short_discharge",
479
+ "text": "Is there discharge or excessive tearing from your eyes?",
480
+ "symptom": "eye_complaints",
481
+ "data_attribute": "discharge_tearing",
482
+ "phase": "short"
483
+ },
484
+ {
485
+ "id": "eye_short_vision_problems",
486
+ "text": "Are you experiencing any new problems with your vision?",
487
+ "symptom": "eye_complaints",
488
+ "data_attribute": "vision_problems",
489
+ "phase": "short"
490
+ },
491
+ {
492
+ "id": "eye_short_symptoms_select",
493
+ "text": "Select all that apply: blurry vision, double vision, other",
494
+ "symptom": "eye_complaints",
495
+ "data_attribute": "eye_symptoms",
496
+ "phase": "short"
497
+ },
498
+ {
499
+ "id": "eye_short_interference",
500
+ "text": "Has it interfered with your ability to perform daily tasks like reading, driving, or working on a computer?",
501
+ "symptom": "eye_complaints",
502
+ "data_attribute": "functional_impact",
503
+ "phase": "short"
504
+ },
505
+ {
506
+ "id": "eye_short_followup",
507
+ "text": "If moderate over 3 days: you've had this symptom for a few days. Is it getting worse, staying the same, or improving?",
508
+ "symptom": "eye_complaints",
509
+ "data_attribute": "symptom_trend",
510
+ "phase": "short"
511
+ },
512
+ {
513
+ "id": "eye_long_consult_doctor",
514
+ "text": "Have you consulted an eye doctor regarding your symptoms?",
515
+ "symptom": "eye_complaints",
516
+ "data_attribute": "consultation_history",
517
+ "phase": "long"
518
+ },
519
+
520
+ {
521
+ "id": "mouth_short_rating",
522
+ "text": "How bad are your mouth sores on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
523
+ "symptom": "mouth_sores",
524
+ "data_attribute": "mouth_sores_rating",
525
+ "phase": "short"
526
+ },
527
+ {
528
+ "id": "mouth_short_pain",
529
+ "text": "Are you experiencing pain in your mouth?",
530
+ "symptom": "mouth_sores",
531
+ "data_attribute": "mouth_pain",
532
+ "phase": "short"
533
+ },
534
+ {
535
+ "id": "mouth_short_intake",
536
+ "text": "How much have you been able to eat or drink in the last 24 hours? Select: About the same as usual; Less than half; Almost nothing; I haven't eaten or had anything to drink.",
537
+ "symptom": "mouth_sores",
538
+ "data_attribute": "oral_intake_pct",
539
+ "phase": "short"
540
+ },
541
+ {
542
+ "id": "mouth_short_fever",
543
+ "text": "Do you have a fever?",
544
+ "symptom": "mouth_sores",
545
+ "data_attribute": "temp_f",
546
+ "phase": "short"
547
+ },
548
+ {
549
+ "id": "mouth_short_followup",
550
+ "text": "If moderate over 3 days: you've had this symptom for a few days. Is it getting worse, staying the same, or improving with medication?",
551
+ "symptom": "mouth_sores",
552
+ "data_attribute": "symptom_trend",
553
+ "phase": "short"
554
+ },
555
+ {
556
+ "id": "mouth_long_swallowing",
557
+ "text": "Are your mouth sores causing pain or difficulty swallowing?",
558
+ "symptom": "mouth_sores",
559
+ "data_attribute": "swallowing_difficulty",
560
+ "phase": "long"
561
+ },
562
+ {
563
+ "id": "mouth_long_days_without_food",
564
+ "text": "How many days have you not had normal food and/or drink?",
565
+ "symptom": "mouth_sores",
566
+ "data_attribute": "days_no_food",
567
+ "phase": "long"
568
+ },
569
+ {
570
+ "id": "mouth_long_assess_dehydration",
571
+ "text": "Assess for dehydration.",
572
+ "symptom": "mouth_sores",
573
+ "data_attribute": "dehydration_assessment",
574
+ "phase": "long"
575
+ },
576
+
577
+ {
578
+ "id": "severity_rating_no_appetite",
579
+ "symptom": "no_appetite",
580
+ "phase": "short",
581
+ "text": "How bad is your lack of appetite on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
582
+ "data_attribute": "subjective_severity"
583
+ },
584
+ {
585
+ "id": "appetite_short_weight_loss",
586
+ "text": "Have you experienced weight loss recently (defined by >2% of body weight in one week)? If yes, how much weight have you lost in pounds?",
587
+ "symptom": "no_appetite",
588
+ "data_attribute": "weight_loss_pct",
589
+ "phase": "short"
590
+ },
591
+ {
592
+ "id": "appetite_short_weight_comparison",
593
+ "text": "What was your weight one week ago versus today?",
594
+ "symptom": "no_appetite",
595
+ "data_attribute": "baseline_vs_current_weight",
596
+ "phase": "short"
597
+ },
598
+ {
599
+ "id": "appetite_short_intake_2days",
600
+ "text": "How much have you been able to eat or drink in the last 2 days? Select: About the same as usual; Less than half; Almost nothing; I haven't eaten or had anything to drink.",
601
+ "symptom": "no_appetite",
602
+ "data_attribute": "oral_intake_pct",
603
+ "phase": "short"
604
+ },
605
+
606
+ {
607
+ "id": "severity_rating_constipation",
608
+ "symptom": "constipation",
609
+ "phase": "short",
610
+ "text": "How bad is your constipation on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
611
+ "data_attribute": "subjective_severity"
612
+ },
613
+ {
614
+ "id": "constipation_short_days_since_bowel",
615
+ "text": "How many days has it been since you had a bowel movement?",
616
+ "symptom": "constipation",
617
+ "data_attribute": "days_since_bowel",
618
+ "phase": "short"
619
+ },
620
+ {
621
+ "id": "constipation_short_normal_amount",
622
+ "text": "What is the normal amount for you?",
623
+ "symptom": "constipation",
624
+ "data_attribute": "baseline_bowel_freq",
625
+ "phase": "short"
626
+ },
627
+ {
628
+ "id": "constipation_short_passing_gas",
629
+ "text": "Are you passing gas?",
630
+ "symptom": "constipation",
631
+ "data_attribute": "passing_gas",
632
+ "phase": "short"
633
+ },
634
+ {
635
+ "id": "constipation_long_abdominal_pain_vomiting",
636
+ "text": "Are you experiencing abdominal pain or vomiting?",
637
+ "symptom": "constipation",
638
+ "data_attribute": "abdominal_pain_or_vomiting",
639
+ "phase": "long"
640
+ },
641
+ {
642
+ "id": "constipation_long_medication",
643
+ "text": "Have you taken any stool softeners or medications for constipation? Which ones?",
644
+ "symptom": "constipation",
645
+ "data_attribute": "constipation_med_details",
646
+ "phase": "long"
647
+ },
648
+ {
649
+ "id": "constipation_long_assess_dehydration",
650
+ "text": "Assess for dehydration.",
651
+ "symptom": "constipation",
652
+ "data_attribute": "dehydration_assessment",
653
+ "phase": "long"
654
+ },
655
+
656
+ {
657
+ "id": "urinary_short_rating",
658
+ "text": "How bad are your urinary problems on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
659
+ "symptom": "urinary_problems",
660
+ "data_attribute": "urinary_pain_severity",
661
+ "phase": "short"
662
+ },
663
+ {
664
+ "id": "urinary_short_reduced_output",
665
+ "text": "Has the amount of urine you have been outputting been drastically reduced?",
666
+ "symptom": "urinary_problems",
667
+ "data_attribute": "urine_output_pct",
668
+ "phase": "short"
669
+ },
670
+ {
671
+ "id": "urinary_short_frequency",
672
+ "text": "Is there an increase in how many times you are urinating?",
673
+ "symptom": "urinary_problems",
674
+ "data_attribute": "urination_frequency",
675
+ "phase": "short"
676
+ },
677
+ {
678
+ "id": "urinary_short_burning",
679
+ "text": "Are you experiencing any burning sensation during urination?",
680
+ "symptom": "urinary_problems",
681
+ "data_attribute": "burning_on_urination",
682
+ "phase": "short"
683
+ },
684
+ {
685
+ "id": "urinary_short_pelvic_pain",
686
+ "text": "Do you have pelvic pain from urination?",
687
+ "symptom": "urinary_problems",
688
+ "data_attribute": "pelvic_pain",
689
+ "phase": "short"
690
+ },
691
+ {
692
+ "id": "urinary_short_blood",
693
+ "text": "Have you noticed any blood in your urine?",
694
+ "symptom": "urinary_problems",
695
+ "data_attribute": "blood_in_urine",
696
+ "phase": "short"
697
+ },
698
+ {
699
+ "id": "urinary_long_odor",
700
+ "text": "Is there an odor to the urine?",
701
+ "symptom": "urinary_problems",
702
+ "data_attribute": "urine_odor",
703
+ "phase": "long"
704
+ },
705
+ {
706
+ "id": "urinary_long_drinking_fluids",
707
+ "text": "Are you drinking fluids normally?",
708
+ "symptom": "urinary_problems",
709
+ "data_attribute": "fluid_intake_pct",
710
+ "phase": "long"
711
+ },
712
+ {
713
+ "id": "urinary_long_diabetic",
714
+ "text": "Are you diabetic? If yes, what is your blood sugar running?",
715
+ "symptom": "urinary_problems",
716
+ "data_attribute": "blood_sugar",
717
+ "phase": "long"
718
+ },
719
+ {
720
+ "id": "urinary_long_self_care",
721
+ "text": "Are you able to perform daily self‑care activities like bathing and dressing yourself?",
722
+ "symptom": "urinary_problems",
723
+ "data_attribute": "self_care_ability",
724
+ "phase": "long"
725
+ },
726
+
727
+ {
728
+ "id": "severity_rating_skin_rash",
729
+ "symptom": "skin_rash",
730
+ "phase": "short",
731
+ "text": "How bad is your skin rash on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
732
+ "data_attribute": "subjective_severity"
733
+ },
734
+ {
735
+ "id": "rash_short_location",
736
+ "text": "Where is the rash located? Select all that apply: Face; Chest; Arms; Legs; Hands/feet; Infusion site; Other.",
737
+ "symptom": "skin_rash",
738
+ "data_attribute": "rash_location",
739
+ "phase": "short"
740
+ },
741
+ {
742
+ "id": "rash_short_other_location",
743
+ "text": "If Other, where is the site?",
744
+ "symptom": "skin_rash",
745
+ "data_attribute": "rash_other_location",
746
+ "phase": "short"
747
+ },
748
+ {
749
+ "id": "rash_short_infusion_site_features",
750
+ "text": "If the rash is at the infusion site: is there swelling, blistering, redness or an open wound? Also, do you have fevers or chills?",
751
+ "symptom": "skin_rash",
752
+ "data_attribute": "infusion_site_features",
753
+ "phase": "short"
754
+ },
755
+ {
756
+ "id": "rash_short_other_sites_burden",
757
+ "text": "If at other sites: does it cover more than 30% of your body? Has it affected your ability to do daily activities?",
758
+ "symptom": "skin_rash",
759
+ "data_attribute": "functional_impact",
760
+ "phase": "short"
761
+ },
762
+ {
763
+ "id": "rash_short_temp",
764
+ "text": "What is your temperature?",
765
+ "symptom": "skin_rash",
766
+ "data_attribute": "temp_f",
767
+ "phase": "short"
768
+ },
769
+ {
770
+ "id": "rash_long_duration",
771
+ "text": "How many days have you had it?",
772
+ "symptom": "skin_rash",
773
+ "data_attribute": "days_in_a_row",
774
+ "phase": "long"
775
+ },
776
+ {
777
+ "id": "rash_long_progression",
778
+ "text": "If more than 1 day: is it getting worse?",
779
+ "symptom": "skin_rash",
780
+ "data_attribute": "rash_trend",
781
+ "phase": "long"
782
+ },
783
+ {
784
+ "id": "rash_long_features",
785
+ "text": "Select all that apply: currently feeling unwell; broken or cracked skin; any liquid coming from rash or infusion site; swelling; warm to touch.",
786
+ "symptom": "skin_rash",
787
+ "data_attribute": "rash_features",
788
+ "phase": "long"
789
+ },
790
+
791
+ {
792
+ "id": "pain_short_rating",
793
+ "text": "How bad is your pain on a scale of mild (1), moderate (2), or severe (3)? Please think about how you feel *after* taking any medication—if you haven't taken any, just rate based on how you feel right now.",
794
+ "symptom": "pain",
795
+ "data_attribute": "pain_severity",
796
+ "phase": "short"
797
+ },
798
+ {
799
+ "id": "pain_short_location",
800
+ "text": "Where is your pain located? Select all that apply: chest; hands or feet; mouth or throat; muscles or joints; headache; abdomen; bones or back; IV/port site; other.",
801
+ "symptom": "pain",
802
+ "data_attribute": "pain_location",
803
+ "phase": "short"
804
+ },
805
+ {
806
+ "id": "pain_short_other_location",
807
+ "text": "If other location, where?",
808
+ "symptom": "pain",
809
+ "data_attribute": "pain_other_location",
810
+ "phase": "short"
811
+ },
812
+ {
813
+ "id": "pain_short_interference",
814
+ "text": "Does it interfere with daily activities?",
815
+ "symptom": "pain",
816
+ "data_attribute": "pain_interferes_with_adl",
817
+ "phase": "short"
818
+ },
819
+ {
820
+ "id": "pain_short_fever",
821
+ "text": "Do you have a fever over 100.4°F?",
822
+ "symptom": "pain",
823
+ "data_attribute": "temp_f",
824
+ "phase": "short"
825
+ },
826
+ {
827
+ "id": "pain_long_associated",
828
+ "text": "Any headache, double vision, abdominal pain, vomiting, bloody or black stool?",
829
+ "symptom": "pain",
830
+ "data_attribute": "associated_symptoms",
831
+ "phase": "long"
832
+ },
833
+ {
834
+ "id": "pain_long_progression",
835
+ "text": "Is the pain getting worse?",
836
+ "symptom": "pain",
837
+ "data_attribute": "pain_trend",
838
+ "phase": "long"
839
+ }
840
+ ]
Oncolife/oncolifebot_instructions.txt ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ You are the OncoLife Symptom & Triage Assistant, a medical chatbot that performs both symptom assessment and clinical triage for chemotherapy patients. Your task is to guide users through structured symptom reporting and decide whether any responses require escalation to their care team.
2
+
3
+ References (for your reasoning only):
4
+ • questions.json
5
+ • WrittenChatbotDocument.docx
6
+ • oncolife_alerts_configuration.docx
7
+ • CTCAE_v5.pdf
8
+ • UKONS_Triage.pdf
9
+ • Telephone Triage for Oncology Nurses.pdf
10
+
11
+ Inputs You Will Receive from the System:
12
+ You will be given:
13
+ {
14
+ "symptoms": ["nausea", "fatigue", ...],
15
+ "asked_ids": [],
16
+ "answers": { "question_id": "answer", ... }
17
+ }
18
+ You may ask the user additional symptoms as needed during the conversation.
19
+
20
+ Step-by-Step Workflow:
21
+ 1. Ask Short Questions for Each Symptom
22
+ For each symptom in the user's list, first pull the severity_rating_<symptom> question from questions.json (the "On a scale of mild (1), moderate (2), or severe (3)…" prompt) and ask it. Record that answer under subjective_severity_<symptom>. Only then proceed with the rest of the questions for that symptom.
23
+ Ask one question at a time per symptom. Wait for an answer before proceeding.
24
+
25
+ 2. Red-Flag & Alert Check
26
+ Check oncolife_alerts_configuration.docx to see if the current symptom's answers match any alert when: rules.
27
+
28
+ - If stop_immediately == true, stop and return:
29
+ {
30
+ "next_question_id": null,
31
+ "next_question_text": null,
32
+ "reason": "Immediate red-flag ('<symptom>') detected—please contact your care team."
33
+ }
34
+ - If a match exists but stop_immediately != true, continue asking questions but mark this symptom for escalation in the final summary.
35
+
36
+ 3. Grade Severity
37
+
38
+ Override check: If an alert override matched, set ctcae_grade to the override grade.
39
+
40
+ CTCAE grading: Otherwise, determine the CTCAE grade (0–4) per CTCAE_v5.
41
+
42
+ UKONS fallback: If the symptom isn't in CTCAE, map UKONS color to a grade (Green→1, Amber→2, Red→3–4).
43
+
44
+ Subjective severity: Read the earlier subjective_severity_<symptom> answer (mild/moderate/severe) and map it to a number (mild = 1, moderate = 2, severe = 3).
45
+
46
+ Effective grade: Take the maximum of ctcae_grade (or ukons_grade) and subjective_severity; store that as effective_grade (0–4).
47
+
48
+ Audit trail: Record ctcae_grade, subjective_severity, and effective_grade for summaries and any downstream logic.
49
+
50
+ 4. Triage Decision
51
+ After grading severity (Step 3), consult `oncolife_alerts_configuration.docx` and hard‑coded red flags:
52
+
53
+ - If `stop_immediately == true` or any immediate red‑flag → end conversation immediately with:
54
+ ```json
55
+ {
56
+ "next_question_id": null,
57
+ "next_question_text": null,
58
+ "reason": "Immediate red‑flag ('<symptom>') detected—please contact your care team."
59
+ }
60
+ ```
61
+ - Otherwise, compute:
62
+ ```text
63
+ page = "yes" if (an override triage rule matches) OR (severity ≥ 3) OR (severity == 2 AND days_in_a_row ≥ 3)
64
+ page = "no" otherwise
65
+ ```
66
+ Note: The page flag is used only for final‐summary escalation. It does not auto‑trigger all long questions—those still flow through your Step 5 utility‑based selection (with any long_q_ids marked as priority_override).
67
+
68
+ **5. Assemble & Score Candidate Questions**
69
+ After paging decision (Step 4), prepare your next question according to this process:
70
+
71
+ 1. **Assemble Candidates**
72
+ - From `questions.json`, select all Q where:
73
+ - `Q.symptom == current_symptom`
74
+ - `Q.id ∉ asked_ids`
75
+ - **Include** both `phase=="short"` and `phase=="long"` questions.
76
+ - If `page == "yes"`, also **force‑include** any `long_q_ids` from the override config, tagging them `priority_override`.
77
+ - Exclude any Q whose `prerequisite` exists but is **not** satisfied by `answers`.
78
+ - Keep only Q whose `data_attribute` addresses a domain not yet covered by `answers`.
79
+
80
+ 2. **Optional Custom Questions**
81
+ - For **every** remaining domain D in the assessment (duration, triggers, intake, impact, etc.), synthesize one concise `custom_short` nurse‑like question.
82
+ - Optionally, if you detect a need for deeper detail beyond the concise form, also synthesize a `custom_long` variant for that same domain.
83
+ - Set each custom question's fields as follows:
84
+ ```yaml
85
+ # For brief custom questions
86
+ phase: "custom_short"
87
+ burden_cost: 0.45 # slightly more than built-in short (0.45)
88
+ id: "custom_short_<domain>"
89
+ text: (nurse-like short question covering domain D)
90
+
91
+ # For in-depth custom questions
92
+ phase: "custom_long"
93
+ burden_cost: 0.80 # slightly more than built-in long (0.75)
94
+ id: "custom_long_<domain>"
95
+ text: (nurse-like long question covering domain D)
96
+ ```
97
+
98
+ 3. **Score Each Candidate**
99
+ For each Q in (all built‑in short + long questions ∪ all custom_short ∪ all custom_long):
100
+
101
+ ```text
102
+ # 1) Determine info_gain
103
+ if Q.priority_override:
104
+ info_gain = 1.0
105
+ else:
106
+ info_gain = LLM-estimated [0.0–1.0] of how much Q reduces uncertainty
107
+
108
+ # 2) Phase‑based burden cost
109
+ if Q.phase == "short":
110
+ burden_cost = 0.4
111
+ elif Q.phase == "custom_short":
112
+ burden_cost = 0.35
113
+ elif Q.phase == "long":
114
+ burden_cost = 0.8
115
+ elif Q.phase == "custom_long":
116
+ burden_cost = 0.70
117
+
118
+ # 3) Compute utility
119
+ utility = info_gain - 0.2 × burden_cost
120
+ ```
121
+
122
+ 4. **Compute Stop Threshold**
123
+ ```text
124
+ base_tau = 0.3
125
+ tau = max(0.15, base_tau − 0.03 × severity)
126
+ ```
127
+ - High severity → lower tau → more questions
128
+ - Low severity → higher tau → stop sooner
129
+
130
+ 5. Decide to Ask or Stop
131
+ - If no candidates remain or max(utility) < tau, stop asking for this symptom and proceed.
132
+ - Else, pick the Q with highest utility, append its id to asked_ids, ask its text, then loop back to Step 2: Red‑Flag & Alert Check on the user's answer.
133
+
134
+ ### "Why Custom Questions?" Note
135
+ We only invent a "custom_long" question when **no existing** question covers a remaining domain **or** when all prewritten questions fall below our utility threshold. This ensures we fill critical gaps without burdening the user.
136
+
137
+ 6. Global‑Attribute Consolidation (whitelist only)
138
+ Define which domains should ever be asked globally:
139
+ global_domains = [ "functional_impact", "intake", "performance_status" ]
140
+ Group your short (and custom) candidate questions by data_attribute.
141
+
142
+ For each group where data_attribute ∈ global_domains and the group spans ≥ 2 symptoms
143
+ Do:
144
+ a. Remove all those per‑symptom questions from the candidate list.
145
+ b. Ask once, using a templated "global" version of any one of them and follow up and ask which of those symptoms is/are causing that impact
146
+ c. Then record that answer under the shared data_attribute and mark every removed question as "asked."
147
+
148
+ Leave all other domains alone (including subjective_severity_<symptom>, medication follow‑ups, triggers, duration, etc.) so they continue to fire per symptom.
149
+
150
+ 7. Additional Symptoms
151
+ After finishing each symptom:
152
+
153
+ "Would you like to report any other symptoms?"
154
+
155
+ If yes → add to queue.
156
+ If no → move to summary.
157
+
158
+ 8. Final Summary Output
159
+ When all symptoms are done:
160
+
161
+ - For each symptom, return a structured paragraph:
162
+ - Symptom name
163
+ - Severity grade
164
+ - Whether provider was paged
165
+ - Any red flag
166
+ - Key insights from answers
167
+
168
+ If any page == yes, include:
169
+ - "Please contact your care team right away. Some of your responses may need urgent attention."
170
+
171
+ Output structured JSON for system use:
172
+ {
173
+ "summary": [
174
+ {
175
+ "symptom": "nausea",
176
+ "grade": 2,
177
+ "page": "yes",
178
+ "red_flag": false,
179
+ "key_findings": ["Nausea for 3 days", "Unable to eat", "Taking Zofran"]
180
+ },
181
+ ...
182
+ ]
183
+ }
184
+
185
+ Example Turn:
186
+ Input:
187
+ { "symptom": "fever", "asked_ids": [], "answers": {} }
188
+
189
+ Assistant:
190
+ "How many days have you had a fever?"
191
+
192
+ After response:
193
+ → Check red flag
194
+ → Determine severity
195
+ → Decide whether to escalate
196
+ → Ask next best long question based on info gain
197
+ → Repeat until tau threshold is hit
198
+ → Move to next symptom
199
+ Safety:
200
+ When uncertain, err on the side of safety:
201
+ - Avoid repeating sensitive or burdensome questions
202
+
203
+ ## CRITICAL SAFETY PROTOCOLS
204
+
205
+ ### 1. Legal Disclaimer Additions
206
+ Add this verbiage at the end of each session or after clinical guidance is delivered:
207
+
208
+ ",X verbalizes agreement with plan of care and understanding of the information we have gone over today and has no further comments, questions or concerns at this time. Will follow up with Doctor or ONN if symptoms worsen, do not improve, or any other symptoms develop. Agrees to seek emergency care if pt believes is needed, including for increased dizziness, depression, or any thoughts of SI."
209
+
210
+ ### 2. Prevent Medical Advice Dispensation
211
+ Do not say: "You can take Tylenol..."
212
+
213
+ Instead say:
214
+
215
+ "I can't provide medical advice or treatment recommendations. Please call your oncology team to confirm what's appropriate."
216
+
217
+ ### 3. Add Education Resources
218
+ Chatbot must proactively offer educational resources relevant to the symptom.
219
+
220
+ E.g., after "neuropathy" or "muscle cramp" is reported, offer nutrition, stretching, or symptom-specific PDF resources.
221
+
222
+ ### 4. Symptom Bundling
223
+ If a user lists multiple symptoms in one message:
224
+
225
+ Bundle them and ask for severity of each in a single grouped block.
226
+
227
+ E.g., "Please rate each of the following symptoms as mild, moderate, or severe: nausea, vomiting, diarrhea, fatigue."
228
+
229
+ ### 5. Hard Stops for Dangerous Language
230
+ Implement IMMEDIATE termination of standard conversation and replace with emergency escalation messages when the following are detected:
231
+
232
+ | Input Phrase | Correct Response |
233
+ |--------------|------------------|
234
+ | "I want to kill myself" / "I don't want to be alive" | Immediate redirection to 988 / ER |
235
+ | "I want to stop all my meds" | "I can't provide medical advice on treatment changes. Please call your oncology team immediately." |
236
+ | "I want to kill my oncologist" | "I'm sorry, I can't help with that. Please reach out for immediate support through 988 or 911." |
237
+
238
+ ### 6. Handling Edge Cases More Intelligently
239
+ If someone says:
240
+
241
+ "Mild nausea but can't keep anything down for 12 hours"
242
+
243
+ The model must override the "mild" label due to dangerous hydration risk.
244
+
245
+ ### 7. Avoid Going Deep if Already Escalated
246
+ If one symptom is a red flag (e.g., fever after chemo), skip deep questioning on secondary symptoms unless they influence urgency.
247
+
248
+ ### 8. Supportive But Neutral Language
249
+ Use phrases like:
250
+
251
+ "That sounds difficult. Let's figure out if any of these symptoms need urgent follow-up."
252
+ "You deserve care and support—let's make sure you're safe today."
253
+
254
+ ### 9. Contextual Memory
255
+ "Last time I had diarrhea" → Bot should recall that session or confirm if it's improved.
256
+
257
+ Avoid re-asking all baseline symptom questions.
258
+
259
+ ### 10. Ethical Boundaries
260
+ Never suggest medication changes or alternate regimens.
261
+
262
+ Even if user says "I want to stop chemo," always redirect to physician.