-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcovid_19.nct
801 lines (645 loc) · 37.2 KB
/
covid_19.nct
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
Script: "Covid 19"
Language: "en-us male"
@restartCovidScreening
Name Speak: Robbie, "</speak>Version 20200709 17:40 Demo Covid-19 Screening Application"
Variable: userName
Variable: covidUserRef
Variable: covidIll
Variable: covidAge
Variable: covidLifeThreat
Variable: covidContact
Variable: covidFever
Variable: covidBreath
Variable: covidSevereBreath
Variable: covidCough
Variable: covidSevereCough
Variable: covidBP
Variable: covidSevereBP
Variable: covidNose
Variable: covidThroat
Variable: covidMuscle
Variable: covidTaste
Variable: covidFatigue
Variable: covidNausea
Variable: covidLungs
Variable: covidHeart
Variable: covidDiabetes
Variable: covidNeuroCough
Variable: covidWeakImmune
Variable: covidDialysis
Variable: covidLiver
Variable: covidObesity
Variable: covidPregnancy
Variable: covidComorbiditiesCount
Variable: covidNursingHome
Variable: covidCareGiver
Variable: True = 1
Variable: False = 0
Variable: yesNoList = "yes", "no"
Variable: yesList = "yes", "sure", "very", "yup", "y"
Variable: noList = "no", "not", "I don't have", "nope", "n"
# {ignoreList = "I'm", "a", "the", "thanks", "thank you" # Prepositions and articles to ignore ..
Variable: detailsList = "details", "more details", "tell me more"
Variable: userSelfRefsList = "self", "myself", "me"
Variable: userElseRefsList = "else", "someone else", "friend"
Name Speak: Robbie, "<speak></speak>This demonstration is based on the CDC's guide recommendations for Covid-19 phone screening, as of June 2020, and should not be considered a CDC or medically approved application at this time."
# Name Speak: Robbie, "<speak></speak>Some text to print and not speak."
#GREETING
@startCovidScreening
Name Speak: Robbie, "Thank you for interacting with the demonstration Neon virtual examination room and Covid-19 conversational screening application beta test."
Name Speak: Robbie, "My name is Neon Robbie."
Name Speak: Robbie, "What is your name?"
voice_input(userName)
Name Speak: Robbie, "Hi {userName} . I am glad you chose to talk with me about Covid-19 symptoms."
@promptMoreAppInfo
Name Speak: Robbie, "Before starting the screening, would you like more information on the Neon conversational Covid-19 demo screening application?"
voice_input(moreAppInfo)
#if {moreAppInfo} !IN {yesNoList[*]}:
# Goto: promptMoreAppInfo
#if {moreAppInfo} IN {noList[*]}:
If {moreAppInfo} IN {noList[*]}:
Goto: BeginScreening
Name Speak: Robbie, "The Neon conversational demonstration Covid-19 screening application is based on the Center for Disease Control and Prevention recommendations for the Coronavirus Disease 2019 Telephone Response Guide. The Covid-19 screening script is available at CDC dot gov website. </speak>https://www.cdc.gov/coronavirus/2019-ncov/hcp/phone-guide/ "
@BeginScreening
Name Speak: Robbie, "Your beta test virtual exam room is ready."
Name Speak: Robbie, "In response to screening questions you can say details to hear more details."
# Name Speak: Robbie, "or you can say previous question, or start over."
@promptUserRef
Name Speak: Robbie, "Are you asking for help for yourself or for someone else?"
voice_input(covidUserRef)
If {covidUserRef} IN {detailsList[*]}:
Name Speak: Robbie, "For record keeping, we need to keep track of who we interact with."
Goto: promptUserRef
#if {covidUserRef} == "myself":
If {covidUserRef} IN {userSelfRefsList[*]}:
userRef1 = "have you"
userRef2 = "are you"
userRef3 = "do you"
userRef1C = "Have you"
userRef2C = "Are you"
userRef3C = "Do you"
else:
If {covidUserRef} IN {userElseRefsList[*]}:
userRef1 = "has the person you are calling about"
userRef2 = "is the person for whom you are calling"
userRef3 = "does the person you are calling about"
userRef1C = "Has the person you are calling about"
userRef2C = "Is the person for whom you are calling"
userRef3C = "Does the person you are calling about"
else
Name Speak: Robbie, "Sorry {userName} I didn't get that."
Goto: promptUserRef
Name Speak: Robbie, "Got it {userName}."
#TRIAGE
@promptIll
Name Speak: Robbie, "This audio guide is for people who are ill. {userRef2C} ill?"
# "Are you ill (or contacting on behalf of someone who is ill)?"
voice_input(covidIll)
If {covidIll} IN {detailsList[*]}:
Name Speak: Robbie, "We are demonstrating CDC's Covid-19 symptom screening for people who feel ill. If you are not showing symptoms of illness, then this screening system can not help you. If you are concerned you have Covid-19 infection you should contact your care advisor, since some people who have the Covid-19 infection are non-symptomatic."
Goto: promptUserRef
If {covidIll} IN {noList[*]}:
Name Speak: Robbie, "You're not symptomatic of Covid-19 but if you are concerned you have Covid-19 infection you should contact your care advisor."
Name Speak: Robbie, "Option for additional information on Covid-19 symptoms are in progress."
Goto: A-noSymptoms
# TODO: This could do something other than run exit, continue prompting? Ask to start over? Ask to check other symptoms?
# Exit - Only for sick people
else:
if {covidIll} IN {yesList[*]}:
Goto: promptAge
else:
if {covidIll} == "start over":
Goto: startCovidScreening
else:
Goto: promptIll
@promptAge
Name Speak: Robbie, "This audio guide is for people over 5. How many years old {userRef2} ?"
voice_input(covidAge)
if {covidAge} IN {detailsList[*]}:
Name Speak: Robbie, "This demonstration of conversational Covid-19 symptom screening is for people over the age of 5. Thank you for helping test the Neon Covid-19 screener."
Goto: promptAge
if {covidAge} < 5:
Goto: C-lessThanFive
else:
if {covidAge} >= 5:
Goto: promptLifeThreatening
else:
Goto: promptAge
# LIFE THREATENING
@promptLifeThreatening
Name Speak: Robbie, "{userRef3C} have a life-threatening emergency medical condition? Say details for details."
voice_input(covidLifeThreat)
if {covidLifeThreat} IN {noList[*]}:
Goto: promptContact
else:
# if {covidLifeThreat} == "details":
if {covidLifeThreat} IN {detailsList[*]}:
Name Speak: Robbie, "Life-threatening emergency medical conditions include these symptoms:"
Name Speak: Robbie, "Extremely difficult breathing (can't talk without gasping for air); "
Name Speak: Robbie, "Blue-colored lips or face; Severe, constant dizziness or lightheadedness; "
Name Speak: Robbie, "Acting confused or inability to arouse; new or worsening slurred speech;"
Name Speak: Robbie, "New onset of seizures or seizures that won't stop; and "
Name Speak: Robbie, "Other life-threatening emergency signs."
Name Speak: Robbie, "Anyone with a life-threatening emergency should immediately call 911."
Name Speak: Robbie, "Thank you for helping test the Neon Covid-19 screener."
Goto: promptLifeThreatening
if {covidLifeThreat} !IN {yesList[*]}:
Goto: promptLifeThreatening
Goto: B-call911
# SCREEN FOR SYMPTOMS
@promptContact
Name Speak: Robbie, "In the two weeks leading up to feeling sick {userRef1} had contact with someone who was diagnosed with COVID-19, or live in or recently visited a place where COVID-19 is spreading?"
voice_input(covidContact)
if {covidContact} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of known contacts to people or places that expose them to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptContact
if {covidContact} IN {noList[*]}:
covidContact = {False}
else:
if {covidContact} !IN {yesList[*]}:
Goto: promptContact
covidContact = {True}
# SYMPTOMS
@promptFever
Name Speak: Robbie, "{userRef3C} have a fever or felt hot or feverish in the last two days?"
voice_input(covidFever)
if {covidFever} IN {detailsList[*]}:
Name Speak: Robbie, "People with a fever over 100.4, and trouble breathing, persistent pain or pressure in the chest, bluish lips or face, or new confusion or fainting, should immediately seek emergency medical care, should limit contact with others and be tested for Covid-19. For fever-reducing medications acetaminophen is recommended (for example Tylenol). Thank you for helping test the Neon Covid-19 screener."
Goto: promptFever
if {covidFever} IN {noList[*]}:
covidFever = {False}
else:
if {covidFever} !IN {yesList[*]}:
Goto: promptFever
covidFever = {True}
# Add -
# Ask "Were you able to measure the temperature with a thermometer?"
# Yes: Ask "What was the temperature and when was it measured?"
# If No: Ask "Are you/they experiencing shaking, chills, or sweating? Do you/they feel very warm to the touch?"
# Ask "When did the fever/feverishness start?"
# Ask "Was fever-reducing medication given?"
# Details: WHO recommends acetaminophen (for example Tylenol). NOT nonsteroidal anti-inflammatory drugs, NSAIDs, for example ibuprofen (like Advil), naproxen (like Aleve), aspirin, and others.
# Details: Examples of fever-reducing medications include acetaminophen (for example Tylenol) and nonsteroidal anti-inflammatory drugs, or NSAIDs, for example ibuprofen (like Advil), naproxen (like Aleve), aspirin, and others.
# If Yes: Ask "How long ago was the medication taken?"
@promptBreath
Name Speak: Robbie, "{userRef3C} have shortness of breath?"
voice_input(covidBreath)
if {covidBreath} IN {detailsList[*]}:
Name Speak: Robbie, "People with trouble breathing and a fever over 100.4, persistent pain or pressure in the chest, bluish lips or face, or new confusion or fainting, should immediately seek emergency medical care, should limit contact with others and be tested for Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptBreath
if {covidBreath} IN {noList[*]}:
covidBreath = {False}
covidSevereBreath = {False}
else:
if {covidBreath} !IN {yesList[*]}:
Goto: promptBreath
covidBreath = {True}
@promptSevereBreath
Name Speak: Robbie, "{userRef3C} have severe shortness of breath, such as difficulty talking or walking across the room without stopping to breath, or fainting?"
voice_input(covidSevereBreath)
if {covidSevereBreath} IN {yesList[*]} :
covidSevereBreath = {True}
Name Speak: Robbie, "People having severe shortness of breath need urgent care and should call 911 or immediately go to the emergency department."
Goto: B-call911
else:
if {covidSevereBreath} !IN {noList[*]}:
Goto: promptSevereBreath
covidSevereBreath = {False}
@promptCough
Name Speak: Robbie, "{userRef3C} have a cough?"
voice_input(covidCough)
if {covidCough} IN {detailsList[*]}:
Name Speak: Robbie, "People with a cough, trouble breathing, persistent pain or pressure in the chest, and a fever over 100.4, or bluish lips or face, or new confusion, or fainting, should immediately seek emergency medical care, should limit contact with others and be tested for Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptCough
if {covidCough} IN {noList[*]}:
covidCough = {False}
covidSevereCough = {False}
else:
if {covidCough} !IN {yesList[*]}:
Goto: promptCough
covidCough = {True}
@promptSevereCough
Name Speak: Robbie, "{userRef1C} coughed up a teaspoon of blood?"
voice_input(covidSevereCough)
if {covidSevereCough} IN {yesList[*]} :
covidSevereCough = {True}
Name Speak: Robbie, "People having severe coughing (termed hemoptysis) should go to the emergency department."
Goto : D-gotoEmergency
if {covidSevereCough} !IN {noList[*]}:
Goto: promptSevereCough
covidSevereCough = {False}
@promptBP
Name Speak: Robbie, "{userRef3C} have low blood pressure? Signs of low blood pressure can include cold, pale, or clammy skin; or feeling too light-headed and too weak to stand."
voice_input(covidBP)
if {covidBP} IN {detailsList[*]}:
Name Speak: Robbie, "People with a symptom of very low blood pressure, such as new confusion or fainting or being too weak to stand, should immediately seek emergency medical care. Thank you for helping test the Neon Covid-19 screener."
Goto: promptBP
if {covidBP} IN {noList[*]}:
covidBP = {False}
covidSevereBP = {False}
else:
if {covidBP} !IN {yesList[*]}:
Goto: promptBP
covidBP = {True}
@promptSevereBP
Name Speak: Robbie, "{userRef3C} have severe low BP hypotension such as not being able to stand?"
voice_input(covidSevereBP)
if {covidSevereBP} IN {yesList[*]} :
covidSevereBP = {True}
Name Speak: Robbie, "People having severe low blood pressure symptoms should go to the emergency department."
Goto : D-gotoEmergency
if {covidSevereBP} !IN {noList[*]}:
Goto: promptSevereBP
covidSevereBP = {False}
@promptNose
Name Speak: Robbie, "{userRef3C} have a runny or stuffy nose?"
voice_input(covidNose)
if {covidNose} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of symptoms related to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptNose
if {covidNose} IN {noList[*]}:
covidNose = {False}
else:
if {covidNose} !IN {yesList[*]}:
Goto: promptNose
covidNose = {True}
@promptThroat
Name Speak: Robbie, "{userRef3C} have a sore throat?"
voice_input(covidThroat)
if {covidThroat} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of symptoms related to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptThroat
if {covidThroat} IN {noList[*]}:
covidThroat = {False}
else:
if {covidThroat} !IN {yesList[*]}:
Goto: promptThroat
covidThroat = {True}
@promptMuscle
Name Speak: Robbie, "{userRef3C} have muscle aches or pains?"
voice_input(covidMuscle)
if {covidMuscle} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of symptoms related to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptMuscle
if {covidMuscle} IN {noList[*]}:
covidMuscle = {False}
else:
if {covidMuscle} !IN {yesList[*]}:
Goto: promptMuscle
covidMuscle = {True}
@promptTaste
Name Speak: Robbie, "{userRef3C} have a new loss of taste or smell?"
voice_input(covidTaste)
if {covidTaste} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of symptoms related to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptTaste
if {covidTaste} IN {noList[*]}:
covidTaste = {False}
else:
if {covidTaste} !IN {yesList[*]}:
Goto: promptTaste
covidTaste = {True}
@promptFatigue
Name Speak: Robbie, "{userRef3C} have unusual tiredness, fatigue or malaise?"
voice_input(covidFatigue)
if {covidFatigue} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of symptoms related to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptFatigue
if {covidFatigue} IN {noList[*]}:
covidFatigue = {False}
else:
if {covidFatigue} !IN {yesList[*]}:
Goto: promptFatigue
covidFatigue = {True}
@promptNausea
Name Speak: Robbie, "{userRef3C} have nausea, vomiting, or diarrhea"
voice_input(covidNausea)
if {covidNausea} IN {detailsList[*]}:
Name Speak: Robbie, "It is important for record keeping to keep track of symptoms related to Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptNausea
if {covidNausea} IN {noList[*]}:
covidNausea = {False}
else:
if {covidNausea} !IN {yesList[*]}:
Goto: promptNausea
covidNausea = {True}
#HIGH RISK
Name Speak: Robbie, "I am now going to ask questions about ongoing medical conditions including pregnancy."
@promptLungs
Name Speak: Robbie, "{userRef3C} have chronic lung diseases?"
# Details: "like asthma, chronic obstructive pulmonary disease [chronic bronchitis or emphysema], or other chronic conditions associated with impaired lung function or that require home oxygen?"
voice_input(covidLungs)
if {covidLungs} IN {detailsList[*]}:
Name Speak: Robbie, "Chronic lung diseases include asthma, chronic obstructive pulmonary disease, chronic bronchitis or emphysema, or other chronic conditions associated with impaired lung function or that require home oxygen. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptLungs
if {covidLungs} IN {noList[*]}:
covidLungs = {False}
else:
if {covidLungs} !IN {yesList[*]}:
Goto: promptLungs
covidLungs = {True}
@promptHeart
Name Speak: Robbie, "{userRef3C} have congestive heart failure?"
voice_input(covidHeart)
if {covidHeart} IN {detailsList[*]}:
Name Speak: Robbie, "Congestive heart failure includes coronary artery blockage, heart attack, valve disease or congenital heart disease, and resulting in the heart not being able to pump efficiently and reduced blood flow. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptHeart
if {covidHeart} IN {noList[*]}:
covidHeart = {False}
else:
if {covidHeart} !IN {yesList[*]}:
Goto: promptHeart
covidHeart = {True}
@promptDiabetes
Name Speak: Robbie, "{userRef3C} have diabetes with complications?"
# Details: "like limb amputation, kidney disease, vision problems, heart disease, history of stroke, or, especially if they have uncontrolled diabetes or other complications?"
voice_input(covidDiabetes)
if {covidDiabetes} IN {detailsList[*]}:
Name Speak: Robbie, "Complications of diabetes include limb amputation, kidney disease, vision problems, heart disease, history of stroke, or, especially uncontrolled diabetes or other complications. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptDiabetes
if {covidDiabetes} IN {noList[*]}:
covidDiabetes = {False}
else:
if {covidDiabetes} !IN {yesList[*]}:
Goto: promptDiabetes
covidDiabetes = {True}
@promptNeuroCough
Name Speak: Robbie, "{userRef3C} have neurological conditions that weaken ability to cough?"
# Details: "like disorders of the brain, spinal cord, peripheral nerve, and muscle such as cerebral palsy, epilepsy [seizure disorders], stroke, intellectual disability, moderate to severe developmental delay, muscular dystrophy, or spinal cord injury
voice_input(covidNeuroCough)
if {covidNeuroCough} IN {detailsList[*]}:
Name Speak: Robbie, "Neurological conditions that weaken ability to cough include disorders of the brain, spinal cord, peripheral nerve, and muscle such as cerebral palsy, epilepsy [seizure disorders], stroke, intellectual disability, moderate to severe developmental delay, muscular dystrophy, or spinal cord injury. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptNeuroCough
if {covidNeuroCough} IN {noList[*]}:
covidNeuroCough = {False}
else:
if {covidNeuroCough} !IN {yesList[*]}:
Goto: promptNeuroCough
covidNeuroCough = {True}
@promptWeakImmune
Name Speak: Robbie, "{userRef3C} have a weakened immune system?"
voice_input(covidWeakImmune)
if {covidWeakImmune} IN {detailsList[*]}:
Name Speak: Robbie, "A weakened immune system includes seeing a doctor for cancer and treatment such as chemotherapy or radiation, receiving an organ or bone marrow transplant, taking high doses of oral steroids or other immunosuppressant medications, HIV or AIDS. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptWeakImmune
if {covidWeakImmune} IN {noList[*]}:
covidWeakImmune = {False}
else:
if {covidWeakImmune} !IN {yesList[*]}:
Goto: promptImmune
covidWeakImmune = {True}
@promptDialysis
Name Speak: Robbie, "{userRef3C} have dialysis or under treatment for a kidney disease?"
voice_input(covidDialysis)
if {covidDialysis} IN {detailsList[*]}:
Name Speak: Robbie, "Dialysis includes any type of dialysis, and kidney diseases are not specified in the CDC guide recommendations. Additional details in progress. Thank you for helping test the Neon Covid-19 screener."
Goto: promptDialysis
if {covidDialysis} IN {noList[*]}:
covidDialysis = {False}
else:
if {covidDialysis} !IN {yesList[*]}:
Goto: promptDialysis
covidDialysis = {True}
@promptLiver
Name Speak: Robbie, "{userRef3C} have cirrhosis of the liver, chronic hepatitis or other liver disease?"
voice_input(covidLiver)
if {covidLiver} IN {detailsList[*]}:
Name Speak: Robbie, "Liver disease includes cirrhosis of the liver, chronic hepatitis or other liver disease, not are not specified in the CDC Covid-19 screening guide recommendations. Additional details in progress. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptLiver
if {covidLiver} IN {noList[*]}:
covidLiver = {False}
else:
if {covidLiver} !IN {yesList[*]}:
Goto: promptLiver
covidLiver = {True}
@promptObesity
Name Speak: Robbie, "{userRef3C} have extreme obesity?"
voice_input(covidObesity)
if {covidObesity} IN {detailsList[*]}:
Name Speak: Robbie, "Extreme obesity is Body Mass Index [BMI] greater than or equal to 40. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Additional details in progress. Thank you for helping test the Neon Covid-19 screener."
Goto: promptObesity
if {covidObesity} IN {noList[*]}:
covidObesity = {False}
else:
if {covidObesity} !IN {yesList[*]}:
Goto: promptObesity
covidObesity = {True}
@promptPregnancy
Name Speak: Robbie, "{userRef3C} have a current pregnancy or pregnant in the last 2 weeks?"
voice_input(covidPregnancy)
if {covidPregnancy} IN {detailsList[*]}:
Name Speak: Robbie, "Pregnancy and recent pregnancy are considered ongoing medical conditions in the CDC Covid-19 screening guide. People with ongoing medical conditions are more at risk of severe symptoms from Covid-19. Thank you for helping test the Neon Covid-19 screener."
Goto: promptPregnancy
if {covidPregnancy} IN {noList[*]}:
covidPregnancy = {False}
else:
if {covidPregnancy} !IN {yesList[*]}:
Goto: promptPregnancy
covidPregnancy = {True}
# CALCULATE COMORBIDITIES AND ADVERSE RISKS
Python: covidComorbiditiesCount = {covidLungs} + {covidHeart} + {covidDiabetes} + {covidNeuroCough} + {covidDialysis} + {covidLiver} + {covidObesity} + {covidPregnancy}
if {covidComorbiditiesCount} >0 :
Name Speak: Robbie, "Important! You've reported significant underlying medical conditions and illness symptoms you are advised to contact a care provider and be seen within 24 hours."
# Add - Collect details? .. If history appears unreliable: Screen for other medical conditions. "Please tell me about any medicine that you/sick person take(s) daily or regularly." Ask about current medications that might indicate underlying chronic conditions.
# CHECK IF CAREGIVER OR LIVING IN FACILITY
@promptNursingHome
Name Speak: Robbie, "{userRef3C} live in a nursing home or other long-term care facility?"
voice_input(covidNursingHome)
if {covidNursingHome} IN {noList[*]}:
covidNursingHome = {False}
else:
if {covidNursingHome} !IN {yesList[*]}:
Goto: promptNursingHome
covidNursingHome = {True}
covidCareGiver = {False}
Name Speak: Robbie, "It is important that you immediately report these symptoms to your nursing home or care facility immediately, including shortness of breath, fever or cough."
Goto: G-careFacilityReport
@promptCareGiver
Name Speak: Robbie, "{userRef3C} been involved as a worker, student or volunteer at a health care setting in the last two weeks?"
# Details: in the last two weeks worked or volunteered in a hospital, emergency room, clinic, medical office, ambulance service, first responder services, or any health care setting, or taken care of patients as a student as a part of your/their work?
voice_input(covidCareGiver)
if {covidCareGiver} IN {noList[*]}:
covidCareGiver = {False}
else:
if {covidCareGiver} !IN {yesList[*]}:
Goto: promptCareGiver
covidCareGiver = {True}
Name Speak: Robbie, "It is important that you immediately report your symptoms to the occupational health provider for the care facility where you were involved, including shortness of breath, fever or respiratory symptoms."
Goto: F-careGiverReport
# List Symptoms, Comorbidities & Risks
Name Speak: Robbie, "Would you like me to list your information including Symptoms and Comorbidities?"
voice_input(userInput)
if {userInput} IN {noList[*]}:
Goto: checkDispositions
Name Speak: Robbie, "I will list your information. Would you like me to read out loud?"
voice_input(userInput)
if {userInput} IN {noList[*]}:
varNoSpeak = "</speak>"
else
varNoSpeak = ""
varProsody = "rate='x-fast'"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> User Name {userName} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> User Ref {covidUserRef} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> User Ill {covidIll} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> User Age {covidAge} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Life Threat {covidLifeThreat} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Contact {covidContact} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Fever {covidFever} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Breathing {covidBreath} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Severe Breathing {covidSevereBreath} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Cough {covidCough} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Severe Cough {covidSevereCough} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> BP {covidBP} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Severe BP {covidSevereBP} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Nose {covidNose} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Throat {covidThroat} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Muscle {covidMuscle} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Taste {covidTaste} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Fatigue {covidFatigue} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Nausea {covidNausea} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Comorbidities </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Lungs {covidLungs} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Heart {covidHeart} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Diabetes {covidDiabetes} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Neuro Cough {covidNeuroCough} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Weakened Immune {covidWeakImmune} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Dialysis {covidDialysis} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Liver {covidLiver} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Obesity {covidObesity} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Pregnancy {covidPregnancy} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Comorbidities Total {covidComorbiditiesCount} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Nursing Home or Facility {covidNursingHome} </prosody>"
Name Speak: Robbie, "{varNoSpeak} <prosody {varProsody}> Care Giving {covidCareGiver} </prosody>"
@checkDispositions
Name Speak: Robbie, "Neon AI test - Checking for Dispositions for the reported symptoms."
# CALCULATE D-gotoEmergency DISPOSITION
Python: covidEmergencyCount = {covidSevereBreath} + {covidSevereCough} + {covidSevereBP}
if {covidEmergencyCount} >0 :
Name Speak: Robbie, "People with these severe symptoms are advised to immediately go to the Emergency Department."
Goto: D-gotoEmergency
# CALCULATE E-callMedicalProvider DISPOSITION
# TODO: '*' is not a valid character
Python: covidProvider24Count = {covidBreath} + ( {covidFever} * {covidComorbiditiesCount} ) + ( {covidCough} * {covidComorbiditiesCount} )
if {covidProvider24Count} >0 :
Name Speak: Robbie, "People with the reported symptoms are advised to call a medical provider within 24 hours, and are encouraged to participate in tele-health options from their health care provider."
Goto: E-callMedicalProvider
# CALCULATE BREATHING DISPOSITIONS
if {covidBreath}:
if {covidComorbiditiesCount} >= 1:
Goto: B-call911
Goto: D-gotoEmergency
# CALCULATE H-selfCare DISPOSITION
Python: covidStayHomeCount = {covidFever} + {covidFever} + {covidCough}
if {covidStayHomeCount} >0 :
Name Speak: Robbie, "People with the reported symptoms are advised to stay home and call their health care provider if they get worse, and are encouraged to participate in tele-health options from their health care provider."
Goto: H-selfCare
# TODO: Goto line here to catch no response, different response for completion vs not ill DM
# NO SYMPTOMS - A
@A-noSymptoms
Name Speak: Robbie, "The Neon AI triage service is intended for people who are ill or caring for someone who is ill. For general information about coronavirus disease 2019 (COVID-19), please refer to the Centers for Disease Control and Prevention (CDC) website. Do you have something to write with? The CDCs website is www.cdc.gov/COVID19."
Goto: promptCreateReport
#CALL 911 - B
@B-call911
Name Speak: Robbie, "Immediate medical attention is needed. You need to call 911 now. Tell the 911 operator if you have been in contact with someone with COVID-19 or if you have recently been to an area where COVID-19 is spreading."
Goto: promptCreateReport
#CHILD LESS THAN 5 YEARS OLD - C
@C-lessThanFive
Name Speak: Robbie, "This triage line is intended for children who are at least five years old and adults. If your child is younger than five years old and is sick, please contact their medical provider as soon as possible. If your child has had contact with a person who is sick with COVID-19 or has been in an area with community spread of COVID-19, please let their medical providers know."
Goto: promptCreateReport
#GO TO EMERGENCY DEPARTMENT - D
@D-gotoEmergency
Name Speak: Robbie, "Urgent medical attention is needed. You need to go to your nearest emergency department. If you have had contact with a person who is sick with COVID-19 or you have been in an area with community spread of COVID-19, please let your medical providers know as soon as you arrive at the emergency department."
Goto: promptCreateReport
#CONTACT MEDICAL PROVIDER WITHIN 24 HOURS - E
@E-gotoMedicalProvider
Name Speak: Robbie, "You have some symptoms that may be related to COVID-19. Stay home except to get medical care. Separate yourself from others in your home. Wear a facemask, if possible. Clean your hands often. Avoid sharing personal household items. Clean all high-touch surfaces everyday. Monitor your symptoms and seek prompt medical attention if your illness is worsening."
Goto: promptCreateReport
#CONTACT OCCUPATIONAL HEALTH PROVIDER AT WORK - F
@F-careGiverReport
Name Speak: Robbie, "Contact an occupational health provider in your healthcare facility as soon as possible. If you have cared for a person who is sick with COVID-19 or have been in an area with community spread of COVID-19, please let your occupational health provider know as soon as you speak with them."
Goto: promptCreateReport
#CONTACT HEALTHCARE PROVIDER IN LONG TERM CARE FACILITY - G
@G-careFacilityReport
Name Speak: Robbie, "You may be at higher risk for severe illness since you live in a nursing home or a long-term care facility. Tell a caregiver at the facility that you are sick and need to see a medical provider as soon as possible."
Goto: promptCreateReport
#STAY HOME AND TAKE CARE OF YOURSELF. CONTACT PROVIDER IF THINGS GET WORSE - H
@H-selfCare
Name Speak: Robbie, "Sorry you are feeling ill. You have one or more symptom(s) that may be related to COVID-19. Stay home and take care of yourself. Please follow steps to prevent others in your household or community from getting sick."
Goto: promptCreateReport
# Not Done Yet - Z
@Z-inProgress
Name Speak: Robbie, "I'm sorry {userName} I'm not programmed for that answer yet. I'm sorry you are feeling ill. You have one or more symptom(s) that may be related to COVID-19. Stay home and take care of yourself. Please follow steps to prevent others in your household or community from getting sick."
Goto: promptCreateReport
# CREATE REPORT
@promptCreateReport
Name Speak: Robbie, "Would you like me to send you an email with the information you have reported today, including User info, Symptoms and Comorbidities?"
voice_input(userInput)
if {userInput} IN {noList[*]}:
Goto: screeningComplete
Variable: screeningReport
screeningReport = "User Name {userName} "
screeningReport = "{screeningReport}, User Ref {covidUserRef} "
screeningReport = "{screeningReport}, Ill {covidIll} "
screeningReport = "{screeningReport}, Age {covidAge} "
screeningReport = "{screeningReport}, Life Threat {covidLifeThreat} "
screeningReport = "{screeningReport}, Contact {covidContact} "
screeningReport = "{screeningReport} \nSymptoms \n"
screeningReport = "{screeningReport}Fever {covidFever} "
screeningReport = "{screeningReport}, Breathing {covidBreath} "
screeningReport = "{screeningReport}, Severe Breathing {covidSevereBreath} "
screeningReport = "{screeningReport}, Cough {covidCough} "
screeningReport = "{screeningReport}, Severe Cough {covidSevereCough} "
screeningReport = "{screeningReport}, BP {covidBP} "
screeningReport = "{screeningReport}, Severe BP {covidSevereBP} "
screeningReport = "{screeningReport}, Nose {covidNose} "
screeningReport = "{screeningReport}, Throat {covidThroat} "
screeningReport = "{screeningReport}, Muscle {covidMuscle} "
screeningReport = "{screeningReport}, Taste {covidTaste} "
screeningReport = "{screeningReport}, Fatigue {covidFatigue} "
screeningReport = "{screeningReport}, Nausea {covidNausea} "
screeningReport = "{screeningReport} \nComorbidities \n"
screeningReport = "{screeningReport}Lungs {covidLungs} "
screeningReport = "{screeningReport}, Heart {covidHeart} "
screeningReport = "{screeningReport}, Diabetes {covidDiabetes} "
screeningReport = "{screeningReport}, Neuro Cough {covidNeuroCough} "
screeningReport = "{screeningReport}, Weakened Immune {covidWeakImmune} "
screeningReport = "{screeningReport}, Dialysis {covidDialysis} "
screeningReport = "{screeningReport}, Liver {covidLiver} "
screeningReport = "{screeningReport}, Obesity {covidObesity} "
screeningReport = "{screeningReport}, Pregnancy {covidPregnancy} "
screeningReport = "{screeningReport} \nComorbidities Total {covidComorbiditiesCount} \n"
screeningReport = "{screeningReport}Nursing Home or Facility {covidNursingHome} "
screeningReport = "{screeningReport}, Care Giving {covidCareGiver} "
Name Speak: Robbie, "<prosody rate="x-fast">This is your Screening Report {screeningReport}</prosody>"
Name Speak: Robbie, "Report ready to email. Say cancel to not send the email, or say send to send."
voice_input(userInput)
if {userInput} == "cancel":
Goto: screeningComplete
Email: "Neon COVID Screening Report", screeningReport
@screeningComplete
Name Speak: Robbie, "Would you like to restart the demonstration Covid-19 screening application test?"
voice_input(userInput)
if {userInput} IN {yesList}:
Name Speak: Robbie, "Would you like to erase all your answers before restarting the demonstration Covid-19 screening application test?"
voice_input(userInput)
if {userInput} IN {yesList[*]}:
Name Speak: Robbie, "Erasing current test answers and restarting."
Goto: restartCovidScreening
Name Speak: Robbie, "Restarting screening test with current test answers."
Goto: startCovidScreening
Name Speak: Robbie, "Thank you {userName} for testing the Neon AI Conversational Covid 19 Screening Script. Robbie, signing off."
Name Speak: Robbie, "Would you like to test the Neon AI Patient Assistant Script?"
voice_input(askReturnValue)
if {askReturnValue} IN {yesList[*]}:
Name Speak: Robbie, "Transferring to Pat, our Patient Assistant demonstration. Goodbye {userName}."
Execute : "Run the patient assistant script"
# Name Speak: Robbie,"</speak>Neon run the Patient Assistant script starting at SCRIPTENTRY"
exit
# Name Speak: Robbie, "Lastly, would you like to test the Neon AI Conversational Script Menu?"
# voice_input(askReturnValue)
# if {askReturnValue} IN {yesList[*]}:
# Name Speak: Robbie, "Transferring to Otto, our Conversational Script Menu Assistant demonstration. Goodbye {userName}."
# Name Speak: Robbie, "</speak>Neon run the script menu script starting at SCRIPTENTRY"
# exit
Name Speak: Robbie, "Thank you {userName} for helping me practice my conversational skills and letting me practice help you."
exit