36
Avicenna Drug Info Line: A Speech Recognizer System Zina Saadi Page 1 Avicenna Drug Info Line Inspired by Avicenna’ s major contribution to medical science and his famous book al-Qanun fi al-Tibb 1 (the Canons of Medicine), which is an immense encyclopedia of medicine extending over a million words. It reviewed the medical knowledge available from ancient and Muslim sources. The Qanun 2 book deals with general medicine, over 760 drugs, diseases affecting all parts of the body from head to foot, especially pathology and pharmacology. Completed By Zina Saadi Graduate Student Tufts University 1 Al-Qanun fi Al-Tibb is the title of the book in Arabic which translates literally to “The Law in Medicine” 2 Pronounced Qanoon

Avicenna_Drug_Info_line_Zina_new_final

Embed Size (px)

Citation preview

Page 1: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 1

Avicenna Drug Info Line

Inspired by Avicenna’s major contribution to medical science and his

famous book al-Qanun fi al-Tibb1 (the Canons of Medicine), which is

an immense encyclopedia of medicine extending over a million words.

It reviewed the medical knowledge available from ancient and Muslim

sources. The Qanun 2 book deals with general medicine, over 760

drugs, diseases affecting all parts of the body from head to foot,

especially pathology and pharmacology.

Completed

By

Zina Saadi

Graduate Student

Tufts University

1 Al-Qanun fi Al-Tibb is the title of the book in Arabic which translates literally to “The Law in Medicine”

2 Pronounced Qanoon

Page 2: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 2

Contents 1 Introduction ............................................................................................................. 3

1.1 Project Timeline ................................................................................................ 3

1.2 What is Avicenna Drug Info Line? ...................................................................... 3

2 Major Design Specifications...................................................................................... 4

2.1 Design Overview ............................................................................................... 4

2.2 Functionalities Overview ................................................................................... 5

2.2.1 Surface Functionality ............................................................................................ 5

2.2.2 Deep-Structure Functionality................................................................................ 5

2.3 Project Plan ....................................................................................................... 5

2.4 Design Flow-Chart ............................................................................................. 6

2.5 Sample Scripts ................................................................................................... 8

2.5.1 Drug-by-Name Path .............................................................................................. 8

2.5.2 Top 100 Drugs Listing Path ................................................................................... 9

2.6 States Tables ................................................................................................... 10

3 Implementation ..................................................................................................... 18

3.1 Data Collection ................................................................................................ 18

3.2 Drugs Page Structure ....................................................................................... 19

3.3 Text Normalization .......................................................................................... 21

4 Possible Future Improvements ............................................................................... 21

5 Appendix A ............................................................................................................. 22

6 Appendix B ............................................................................................................. 23

7 Appendix C ............................................................................................................. 24

8 Appendix D ............................................................................................................. 26

9 Appendix E ............................................................................................................. 29

10 Document History ............................................................................................... 36

Page 3: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 3

1 Introduction

1.1 Project Timeline

03/01/08: Draft2: Proj-Plan +UI Spec (news system)

03/11/08: Draft3: Flow-Chart/Script

03/21/08: Project Code and Doc due

03/31/08: Code Completed & Demo Recorded by Chris

04/01/08: 7 minutes presentation: hosted by Basis Technology attended by a sample of the QA, Development, Documentation, Management team as well as the instructors of the course: Blade Kotelly & Chris Roby

1.2 What is Avicenna Drug Info Line?

Avicenna Drug Info Line (Avicenna DIL) is a speech system recognizer that allows callers to get the best detailed information about drugs from http://www.rxwiki.com --which is a drugs Wikipedia updated by pharmacists-- via coherent and friendly interactions. Avicenna DIL incorporates Aaron Copland’s “Appachian Spring” classical music excerpt3, which adds a relaxing theme to its overall picture.

The system is accessible from anywhere and anytime by calling 1-877-338-6225, using the user id 9193219 and the pin: 1980.

Callers would call to lookup drugs information, including: What is it used for?

How to take the drug? How will it benefit you?

How does the drug function? How is a certain drug available?

What are its possible side effects? What should you do in case of overdose?

What are its possible interactions with other drugs? What are the warnings and cautions should you know about?

3 Track 4 from “The Classical Mood” CD collections. The CD’s subtitle is “Peace”

Page 4: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 4

2 Major Design Specifications

2.1 Design Overview

Avicenna Drug Info line’s design is a good design because it fits most of the 10 principles of good design for Dieter Rams

4. It:

1. Combines two of important fields namely the automatic speech recognition field and the text processing/data mining field, which makes the system Innovative.

2. Makes the product useful since it satisfies the needs of people, especially since the system is able to offer callers the most updated information and detail of the top 100 drugs via the telephone. This also makes the design more concerned with the environment since it copes with the current lifestyle of people which is characterized by a busy lifestyle, and the wide usage of wireless communication technologies including cell phones and text messaging over the phone. Avicenna Drug info Line connects people with information retrieved from the internet wherever they are, and anytime they wish to learn about a certain drug.

3. Incorporate a female voice throughout the entire dialogue prompts (except for the information retrieved dynamically), as well as a smooth flow of control for the caller and the system which adds beauty to the system and makes the design aesthetic.

4. Is as little design as possible since it incorporates a small set of states despite the larger functionality it provides.

5. Is durable since the system can be functional even if the wiki pages are updated.

4 http://gizmodo.com/343641/1960s-braun-products-hold-the-secrets-to-apples-future

Page 5: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 5

2.2 Functionalities Overview

Avicenna DIL5 has dual levels of functionalities namely: the surface functionality and the deep-structure functionality. Both levels of functionalities interact with each other to form the unique design for the speech system which was defined in section 2.1.

2.2.1 Surface Functionality

The surface functionality that Avicenna DIL uses is the speech dialogue interface that is apparent to the caller. It incorporates over 45 self-recorded prompts to give the caller the feeling that he is talking to a human. Avicenna DIL uses 11 background music files to polish the transitions of moving from one state to another for a smooth caller-system interaction.

2.2.2 Deep-Structure Functionality

The deep-structure functionality is what actually happens behind the scenes. It is defined as the deep-structure functionality of the system, because first it is deep in the sense that it is not apparent to the caller and second it has a complex structure that is deep to the level that the caller would not even notice such complexity. In addition, it incorporates cutting edge technologies of using the scripting language Ruby, the markup-language VoiceXML which is a format as XML that can be interpreted as speech, CGI files and Bevocal Café as the VXML interpreter.

2.3 Project Plan The completion of Avicenna DIL wouldn’t have been possible without a project plan (often referred to as the schedule of a project). The project plan measures a day by 8 working hours. In addition, since there was only one main developer engineer, who took the major responsibility of the project preparation, design, implementation, QA and debugging, the dependency, column was removed from the project plan, as well as the percent complete column since at this stage all tasks have been successfully accomplished. The image below, illustrates the project plan created for Avicenna DIL:

5 The paper will refer for Avicenna Drug Info Line as “Avicenna DIL” for simplicity

Page 6: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 6

2.4 Design Flow-Chart The original flow-chart for this project consisted of over 15 states. However after the completion of the code implementation, the number of the states was reduced due to the feature of static-prompts reusability which allows the system to have a polymorphic state. A polymorphic state is a state that can have different specification/behavior according to certain given input which in this case is called a parameter. For instance, the drug info type state (1080), can act as a drug “benefits”, “side effects” or any other type of information specified by the caller by using a set of static prompts in addition to dynamic prompts which identify its current type of behavior (i.e. drug info type). Below is the complete flow chart of the system. Note that the parameters passed to polymorphic states are specified in the arrows combining them with other states.

Page 7: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 7

1000

Welcome

1060

Drug Selection1040

Top_Hundred

Drug_name

1100

Good Bye!

1050

Drug Info or exit

1080

Drug Info Type

1030

Main Menu

1070

Drug Info Menu

1090

Interacting Drug

Drug_name & info_type

Drug_name &

Interacting_drug

1010

Welcome Options

1020

Instructions

1110

Check_spelling

1120

Check_spelling

Page 8: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 8

2.5 Sample Scripts

2.5.1 Drug-by-Name Path

Recognizer Caller Comment

Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients. <Background Music>

If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu <instructions>

Upon hearing your desired selection, you may say it anytime. To go back to a previous prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help <next>

Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs.

look up by name

Need to retrieve information from the web as well.

Please say the drug name you want to hear more information about Nasacort AQ

You said < Nasacort AQ > spelled <N A S A C O R T> is that correct? yes

Do you want to hear more information about < Nasacort AQ > as its: < benefits, what is it used for, instructions, functionality, availability, general info, side effects, warnings, interactions with other drugs, > or its <overdose information> benefits

Nasacort AQ (triamcinolone) is a steroid medication administered by inhalation. It helps relieve symptoms from hay fever and other nasal allergies., Taking Nasacort AQ on a regular basis should help make you feel better and reduce your symptoms. -if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info <exit>

Page 9: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 9

menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit

Thank you for choosing Avicenna Drug info line. Good Bye !

2.5.2 Top 100 Drugs Listing Path

Recognizer Caller Comment

Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients. <Background Music>

If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu <instructions>

Upon hearing your desired selection, you may say it anytime. To go back to a previous prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help <next>

Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs. list

The list of the top 100 most common drugs is (see appendix A). Nasacort AQ

Need to retrieve information from the web as well.

do you want to hear more information about < Nasacort AQ >? or do you want to exit the system? Please say drug info or exit exit

Thank you for choosing Avicenna Drug info line. Good Bye !

Page 10: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 10

2.6 States Tables

1000_Welcome

Play Prompt

Entering from

Prompts Name Condition Wording

1000 always Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients.

<Background Music>

Condition Action

Always 1010_Welcome_Options

Module Settings

1010_Welcome_Options Speech Input

Entering from

1000_welcome

Prompts Type Name Wording

initial 1011 If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu

No match 1 1012 I'm sorry, I didn't understand. <reprompt>

No match 2 1013 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1014 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1015 I didn't hear you, again <reprompt>

No input 2 1016 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1017 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1018 you can say instructions to learn about common keywords for easy navigation through the system, otherwise if you are familiar with the system, say next to move to the main menu

Option Vocabulary DTMF Action Confirm.

Input voice “instructions”

1020_Instructions If necessary

Input voice “next”

1030_Main_Menu If necessary

Commands

Page 11: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 11

Module Settings

1020_Instructions

Play Prompt

Entering from

1010_Welcome_Options

Prompts Name Condition Wording

always Upon hearing your desired selection, you may say it anytime. To go back to a previous

prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help

Condition Action

Always 1030_Main_Menu

Module Settings

1030_Main_Menu Speech Input

Entering from

1010_Welcome_Options, 1020_Instructions

Prompts Type Name Wording

initial 1031 Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs.

No match 1 1032 I'm sorry, I didn't understand. <reprompt>

No match 2 1033 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1034 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1035 I didn't hear you, again <reprompt>

No input 2 1036 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1037 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1038 This is the main menu, you need to say either look up by name to lookup a drug by name or list to hear the list of the top 100 drugs

Option Vocabulary DTMF Action Confirm.

Input voice “lookup by name”

1060_Drug_Selection If necessary

Input voice “list”

1040_Top_Hundred If necessary

Page 12: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 12

Commands

Module Settings

1040_Top_Hundred Speech Input

Entering from

1030_Main_Menu

Prompts Type Name Wording

initial 1041

The list of the top 100 most common drugs is:

<see Appendix A>

No match 1 1042 I'm sorry, I didn't understand. <reprompt>

No match 2 1043 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1044 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1045 I didn't hear you, again <reprompt>

No input 2 1046 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1047 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1048

Please select a drug's name once you hear your choice

Option Vocabulary DTMF Action Confirm.

Input voice <drug name>

1110_Check_Spelling always

Commands

Module Settings

1050_Drug_Info_Or_Exit

Speech Input

Entering from

1110_Check-Spelling

Prompts Type Name Wording

initial 1051 do you want to hear more information about <"drug_option">

? or do you want to exit the system? Please say drug info or exit

No match 1 1052 I'm sorry, I didn't understand. <reprompt>

Page 13: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 13

No match 2 1053 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1054 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1055 I didn't hear you, again <reprompt>

No input 2 1056 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1057 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1058 if you want to hear more information about the drug you selected say 'drug info' otherwise if you wish to exit the system, please say exit

Option Vocabulary DTMF Action Confirm.

Input Voice „Drug Info” 1070_Drug-Info_Menu If necessary

Input voice “exit” 1100_exit If necessary

Commands

Module Settings

1110_Check_Spelling Speech Input

Entering from

1040_Top_Hundred

Prompts Type Name Wording

initial 1111 You selected

< drug_option>

spelled

<say-as type="spell-out">

is that correct?

No match 1 1112 I'm sorry, I didn't understand. <reprompt>

No match 2 1113 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1114 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1115 I didn't hear you, again <reprompt>

No input 2 1116 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1117 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1118

Please select a drug's name once you hear your choice

Page 14: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 14

Option Vocabulary DTMF Action Confirm.

Input voice “yes”

“next”

1050_Drug_Info_Or_Exit If necessary

Input voice “no”

“back”

1040_Top_Hundred If necessary

Commands

Module Settings

1060_Drug_Selection

Speech Input

Entering from

1030_Main_Menu

Prompts Type Name Wording

initial 1041 Please say the drug name you want to hear more information about

No match 1 1042 I'm sorry, I didn't understand. <reprompt>

No match 2 1043 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1044 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1045 I didn't hear you, again <reprompt>

No input 2 1046 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1047 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1048 Please select a drug's name you want to hear more information about

Option Vocabulary DTMF Action Confirm.

Input voice <drug name>

1120_Check_Spelling always

Commands

Module Settings

1120_Check_Spelling Speech Input

Entering from

1060_Drug_Selection

Page 15: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 15

Prompts Type Name Wording

initial 1121 You selected

< drug_option>

spelled

<say-as type="spell-out">

is that correct?

No match 1 1122 I'm sorry, I didn't understand. <reprompt>

No match 2 1123 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1124 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1125 I didn't hear you, again <reprompt>

No input 2 1126 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1127 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1128

Please select a drug's name once you hear your choice

Option Vocabulary DTMF Action Confirm.

Input voice “yes”

“next”

1070_Drug_Info_Menu If necessary

Input voice “no”

“back”

1060_Drug_Selection If necessary

Commands

Module Settings

1070_Drug_Info_Menu Speech Input

Entering from

1120_Check_Spelling, 1050_Drug_Info_Or_Exit

Prompts Type Name Wording

initial 1071

Do you want to hear more information about <drug name>

as its <info types -1>

Or its

<last info type>

No match 1 1072 I'm sorry, I didn't understand. <reprompt>

No match 2 1073 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1074 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Page 16: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 16

No input 1 1075 I didn't hear you, again <reprompt>

No input 2 1076 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1077 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1078

Please select a drug's name once you hear your choice

Option Vocabulary DTMF Action Confirm.

Input voice <info type name>

1080_Drug_info_type always

Commands

Module Settings

1080_Drug_Info_Type Speech Input

Entering from

1070_Drug_info_Menu

Prompts Type Name Wording

initial 1081

<Dynamic retrival>

if you want to hear this information again, say 'repeat', if you want to go back to

<drug name> information menu, say 'drug info menu'

if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit

No match 1 1082 I'm sorry, I didn't understand. <reprompt>

No match 2 1083 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1084 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1085 I didn't hear you, again <reprompt>

No input 2 1086 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1087 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1088 Say one of the following options: 'repeat' to hear the same information again. 'drug info menu' if you

want more information regarding <drug name> 'main menu', to go back to the main menu to learn about another drug or exit' if you want to exit the system

Option Vocabulary DTMF Action Confirm.

Input voice “main menu‟ 1030_Main_Menu If necessary

Input voice “exit” 1100_Exit If necessary

Page 17: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 17

Input voice “repeat”

1080_Drug_info_Type If necessary

Input voice “drug info menu”

1070_Drug_info_Menu If necessary

Commands

Module Settings

1090_Interacting_Drug Speech Input

Entering from

1080_Drug_info_type

Prompts Type Name Wording

initial 1091

<Dynamic Retrieval>

if you want to hear this information again, say 'repeat', if you want to go back to

<drug name> information menu, say 'drug info menu'

if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit

No match 1 1092 I'm sorry, I didn't understand. <reprompt>

No match 2 1093 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

No match 3 1094 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

No input 1 1095 I didn't hear you, again <reprompt>

No input 2 1096 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

No input 3 1097 It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

Help 1098

Please select a drug's name once you hear your choice

Option Vocabulary DTMF Action Confirm.

Input voice “main menu‟ 1030_Main_Menu If necessary

Input voice “exit” 1100_Exit If necessary

Input voice “repeat”

1090_Interacting_Drug If necessary

Input voice “drug info menu”

1070_Drug_info_Menu If necessary

Commands

Module Settings

Page 18: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 18

1100_Exit

Play Prompt

Entering from

1050_Drug_Info_Or_Exit, 1080_Drug_Info_Type, 1090_Interacting_Drug

Prompts Name Condition Wording

1100 always Thank you for choosing Avicenna Drug info line. Good Bye!

Condition Action

Always End

Module Settings

3 Implementation

3.1 Data Collection According to the initial design implementation, data was supposed to be downloaded via a UNIX crawler command (wget) which would collect drugs information from well known websites (see table below). However, since all of the encountered drugs/medication websites disallowed automatic crawlers as sited in their robots.txt file in their root directories, static data collection was not possible.

http://www.emedicinehealth.com/script/m

ain/hp.asp

http://www.webmd.com/drugs/index-

drugs.aspx

http://www.medicinenet.com/medicatio

ns/article.htm

http://www.rxlist.com/script/main/hp.asp

Page 19: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 19

An alternative solution was to collect the drugs information dynamically by automatically retrieving the drugs information from the web parsing the text and generating the data via vxml. After approximately 2 hours of web search through Google for a simple website about drugs, the website corresponding to the link < http://rxwiki.com/index.php?title=Main_Page> was found to be very useful for the following main reasons:

The website consists of a simple markup language (HTML)

There were no Javascripts or other forms of scripts used when retrieving various drug information.

There were no fancy uses of frames, flash or other GUI forms that are hard to scrape via Ruby.

3.2 Drugs Page Structure There are two major formats that this project needed to account for:

1. The top hundred drugs list 2. The individual drugs info pages

The page structure for the top 100 drugs consists of a list of all drugs in one block of the html page which was not hard to extract using methods in the ruby gem ‘hpricot’ as the list looks like the following image:

However, the pages for the drug information are not uniform for all drugs; 92% of the drugs fall into group 1 whereas the rest 8% are distributed over 5 more groups (see Appendix B for the list of drugs in each category).

Page 20: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 20

Group1 img1 Group2 img2

Group5 img5 Group3 img3

Group4 img4 Group6 img6

Page 21: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 21

3.3 Text Normalization Text normalization was an important element in the implementation of Avicenna DIL since the speech system is unable to read many ASCII characters such as carriage return or tabs {“\t”,”\n”,”\r”}. In addition to symbols and special characters removal, vision words removal was crucial. For instance text containing spacial adverbs such as “below” or “above” would not be appropriate for a TTS to say it, and thus it requires the system to remove it.

4 Possible Future Improvements Avicenna Drug Info Line can be improved in various ways including:

1. Internationalization Expansion: Prompts can be translated in the various languages that preserve the same drugs naming convention. Possible languages could include: French, Spanish, Modern Standard Arabic (Assuming French influenced Arabic countries).

2. Expanding the drugs list is important, especially since one of the initial testers of the system reported that she was not able to find simple drugs names as Aspirin (see Appendix D: Roza Safarova’s email).

Page 22: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 22

5 Appendix A Top 100 Drugs

Aciphex

Actiq

Actonel

Actos

Adderall

Adderall XR

Advair Advair Diskus

Altace

Ambien

Ambien CR

Aricept

Augmentin Augmentin XR

Avandia

Avapro

Cardizem Cardizem LA

Celebrex

Cialis

Cipro

Clarinex

Combivent

Combivir

Concerta

Coreg

Coumadin

Cozaar

Crestor

Cymbalta

Depakote Depakote ER

Detrol LA

Diovan Diovan HCT

Duragesic

Effexor XR

Enbrel

Evista

Flomax

Flonase

Flovent

Fosamax

Humalog

Humira

Hyzaar

Imitrex

Lamictal

Lamisil

Lantus

Lescol

Levaquin

Levitra

Lexapro

Lipitor

Lovenox

Lunesta- Micardis

Nasacort AQ

Nasonex

Neurontin

Nexium

Niaspan

Norvasc

Omnicef

OxyContin

Paxil

Plavix

Pravachol

Prevacid

Protonix

Prozac

Pulmicort Respules

Relenza

Rhinocort Aqua

Risperdal

Seroquel

Singulair

Spiriva

Strattera

Synthroid

Symbicort

Tamiflu

Topamax

Toprol-XL

Tricor

Trileptal

Valtrex

Viagra

Vicodin

Vytorin

Wellbutrin XL

Xalatan

Xopenex

Yasmin

Zegerid

Zelnorm

Zetia

Zithromax

Zocor

Zofran

Zoloft

Zyprexa

Page 23: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 23

6 Appendix B Drugs Classifications According to their Drug Info Menu Group Group 1 Drugs

Aciphex, Actiq, Actonel, Actos, Adderall, Advair, Advair Diskus, Altace, Ambien, Aricept, Augmentin, Avandia, Avapro, Cardizem, Celebrex, Cialis, Cipro, Clarinex, Combivent, Combivir, Concerta, Coreg, Coumadin, Cozaar, Crestor, Cymbalta, Depakote, , Diovan, Diovan HCT, Duragesic, Enbrel, Evista, Flomax, Flonase, Flovent, Fosamax, Humalog, Humira, Hyzaar, Imitrex, Lamictal, Lamisil, Lantus, Lescol, Levaquin, Levitra, Lexapro, Lipitor, Lovenox, Lunesta- Micardis, Nasacort AQ, Nasonex, Neurontin, Nexium , Norvasc, Omnicef, Paxil, Plavix, Pravachol, Prevacid, Protonix, Prozac, Pulmicort Respules, Relenza , Rhinocort Aqua, Risperdal, Seroquel, Singulair, Spiriva, Strattera, Synthroid, Symbicort, Tamiflu, Topamax, Tricor, Trileptal, Valtrex, Viagra, Vicodin, Vytorin, Xalatan, Xopenex, Yasmin, Zegerid, Zelnorm, Zetia , Zithromax, Zocor, Zoloft, Zyprexa. Group 2 Drugs Adderall XR Group 3 Drugs Ambien CR, Augmentin XR Group 4 Drugs Cardizem LA, Depakote ER, Niaspan, Toprol-XL, Wellbutrin XL Group 5 Drugs Detrol LA, Effexor XR, OxyContin Group 6 Drugs Zofran

Page 24: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 24

7 Appendix C

Demo Recorder: Chris Roby Recording Date: Monday, March 31, 2008 Demo Script Writer: Zina Saadi Pin Number: 1980

Avicenna DIL:

-Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients. <Background Music> Avicenna DIL:

-If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu Chris: next <Background Music> Avicenna DIL: -<sound icon> Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs. Chris: look up by name

<Background Music> Avicenna DIL:

-Please say the drug name you want to hear more information about Chris: Aciphex Avicenna DIL: You said <aciphex> spelled A C I P H E X is that correct? Chris: Yes <Background Music> Avicenna DIL: -Do you want to hear more information about <aciphex> as its: benefits, what is it used for, instructions, functionality, availability, general info, side effects, warnings, interactions with other drugs, or its overdose information Chris: benefits <Background Music> Avicenna DIL: -Aciphex is used to treat heartburn, acid reflux (GERD or gastroesophageal reflux disease), and to treat diseases of the esophagus. -if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit Chris: 'drug info menu'

<Background Music> Avicenna DIL:

Page 25: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 25

-Do you want to hear more information about <aciphex> as its: benefits, what is it used for, instructions, functionality, availability, general info, side effects, warnings, interactions with other drugs, or its overdose information Chris: ‘interactions with other drugs’

<Background Music> Avicenna DIL:

-These drugs could interact with Aciphex:, Anticoagulants such as warfarin (Coumadin), Azole antifungals such as ketoconazole (Nizoral, Kuric, Xolegel), Clarithromycin (Biaxin), Cyclosporine (Neoral, Sandimmune, Gengraf, Restasis), Digoxin (Lanoxin), HIV protease inhibitors such as atazanavir (Reyataz), Iron , Voriconazole (Vfend), The list of possible interactions above may not include every drug that could interact with Aciphex. You should speak with your health care provider before starting any new drug to be sure all possible interactions are reviewed in advance. Certain drugs may not mix well together. - If you want to hear more information about one of the interacting drugs. say 'interacting drug list' if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit Chris: ‘interacting drug list’ <Background Music> Avicenna DIL: - The interactive drugs with <aciphex> are: Anticoagulant. Warfarin. Coumadin. Azole. Antifungal. Ketoconazole. Nizoral. Kuric. Xolegel. Clarithromycin. Biaxin. Cyclosporine. Neoral. Sandimmune. Gengraf. Restasis. Digoxin. Lanoxin. HIV. Protease inhibitor. Atazanavir. Reyataz. Voriconazole. Vfend which one do you like to learn more about? Chris: Lanoxin <Background Music> Avicenna DIL: -Drug Type: Antiarrhythmic agents, Clinical Drug: digoxin, Lanoxin helps the heart beat more strongly and regularly. -if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit Chris: exit

<Background Music> Avicenna DIL:

-Thank you for choosing Avicena Drug info line. Good Bye !

Page 26: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 26

8 Appendix D From Marwa Eid, Graduate Student at UMASS Boston

Page 27: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 27

From E’atimad, MBA Student

From Roza Safarova, graduate Student at Tufts University

Page 28: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 28

From Maha Achour, PHD, CTO & Co-Founder of Rayspan Corp

Page 29: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 29

9 Appendix E Recording Prompts 1000

Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients.

<Background Music>

1011

If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu

1012

I'm sorry, I didn't understand. <reprompt>

1013

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1014

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1015

I didn't hear you, again <reprompt>

1016

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1017

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1018

you can say instructions to learn about common keywords for easy navigation through the system, otherwise if you are familiar with the system, say next to move to the main menu

Upon hearing your desired selection, you may say it anytime. To go back to a previous prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help

1031

Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs.

Page 30: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 30

1032

I'm sorry, I didn't understand. <reprompt>

1033

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1034

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1035

I didn't hear you, again <reprompt>

1036

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1037

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1038

This is the main menu, you need to say either look up by name to lookup a drug by name or list to hear the list of the top 100 drugs

1041

The list of the top 100 most common drugs is:

<see Appendix A>

1042

I'm sorry, I didn't understand. <reprompt>

1043

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1044

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1045

I didn't hear you, again <reprompt>

1046

Page 31: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 31

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1047

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1048

Please select a drug's name once you hear your choice

1051

do you want to hear more information about <"drug_option">

? or do you want to exit the system? Please say drug info or exit

1052

I'm sorry, I didn't understand. <reprompt>

1053

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1054

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1055

I didn't hear you, again <reprompt>

1056

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1057

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1058

if you want to hear more information about the drug you selected say 'drug info' otherwise if you wish to exit the system, please say exit

1111

You selected

< drug_option>

spelled

<say-as type="spell-out">

Page 32: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 32

is that correct?

1112

I'm sorry, I didn't understand. <reprompt>

1113

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1114

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1115

I didn't hear you, again <reprompt>

1116

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1117

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1118

Please select a drug's name once you hear your choice

1041

Please say the drug name you want to hear more information about

1042

I'm sorry, I didn't understand. <reprompt>

1043

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1044

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1045

I didn't hear you, again <reprompt>

1046

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

Page 33: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 33

1047

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1048

Please select a drug's name you want to hear more information about

1121

You selected

< drug_option>

spelled

<say-as type="spell-out">

is that correct?

1122

I'm sorry, I didn't understand. <reprompt>

1123

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1124

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1125

I didn't hear you, again <reprompt>

1126

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1127

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1128

Please select a drug's name once you hear your choice

1071

Do you want to hear more information about <drug name>

as its <info types -1>

Or its

Page 34: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 34

<last info type>

1072

I'm sorry, I didn't understand. <reprompt>

1073

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1074

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1075

I didn't hear you, again <reprompt>

1076

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1077

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1078

Please select a drug's name once you hear your choice

1081

<Dynamic retrival>

if you want to hear this information again, say 'repeat', if you want to go back to

<drug name> information menu, say 'drug info menu'

if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit

1082

I'm sorry, I didn't understand. <reprompt>

1083

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1084

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1085

Page 35: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 35

I didn't hear you, again <reprompt>

1086

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1087

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1088

Say one of the following options: 'repeat' to hear the same information again. 'drug info menu' if you want more information regarding <drug name> 'main menu', to go back to the main menu to learn about another drug or exit' if you want to exit the system

1091

<Dynamic Retrieval>

if you want to hear this information again, say 'repeat', if you want to go back to

<drug name> information menu, say 'drug info menu'

if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit

1092

I'm sorry, I didn't understand. <reprompt>

1093

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>

1094

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1095

I didn't hear you, again <reprompt>

1096

I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>

1097

It looks like we are having technical difficulties; I still did not understand you.

You can say help, if you are not sure what to say <reprompt>

1098

Page 36: Avicenna_Drug_Info_line_Zina_new_final

Avicenna Drug Info Line: A Speech Recognizer System

Zina Saadi Page 36

Please select a drug's name once you hear your choice

1100

Thank you for choosing Avicenna Drug info line. Good Bye !

10 Document History Date Description

February 24, 2008 Draft1: Script + Flow charts

March 2, 2008 Draft2: -Added State tables and Project Plan

-Updated Flow-Chart and Caller-Script

March 11, 2008 Draft3: Redo everything for the favor of “Doctor on call”

-Modified the scope to focus on Drugs information

=> Renamed it to “Rx Info Line”

March 12, 2008 Draft4: Met with Blade and reviewed Flow Chart +script

=> Improved Flow Chart

March 16, 2008 Draft5: Updated the script, removed the search functionality since there

were not an easy way to collect a lot of text for each drug to generate

search keywords.

March 27, 2008 Draft6: Changed the name from “Rx Info Line” to “Avicenna Drug Info

Line”

April 01, 2008 Draft7: updated the introduction and the flow chart as well as the

project plan

April 02, 2008 Draft7: state tables & scripts updates

April 03, 2008 Final Draft: wrap up and final additions

April 07, 2008 Final Draft: created and added recording script/prompt