Project Background & Client Intro


BHF is a cardiovascular research charity in the United Kingdom. They have a compendium of data about heart and circulatory diseases. This data is used by researchers and policy makers.

Looking through piles of Excel Sheets, searching for information is a tiring and cumbersome process. BHF website users are often in the search of a single statistic, but in order to find it, they have to scroll through large bits of the BHF compendium. Currently, the only alternative to browsing hundreds of tabular data is to ask the British Heart Foundation's support team for help. That slows down the work process for users and creates more hassle for BHF's staff.

Project Goal


Therefore HeartBOT is a chatbot that the BHF can integrate into their own website which is simple to maintain and develop and can answer user FAQs and retrieve data from the BHF compendium. One of our main goals for HeartBOT is also to make it user friendly. Some of the key requirements we gathered for HeartBOT from the users and client are that it must be implemented in a website, it must retrieve data from the compendium, it must be user friendly. and it must answer FAQs about the data.

User Interviews

We decided to use two methods of capturing requirements. We conducted semi-structured interviews and asked users to fill a form. A summary of responses to each question is shown below:

Question Answer
Q1) Tell us about your job Most of the users of the chatbot are either researchers, policy makers or internal BHF staff
Q2) How do you currently get your data? How will the BHF chatbot be useful to you? Users currently manually retrieve data that they need using the excel sheets on the BHF website or they email BHF staff and ask them to send the required data
Q3) What do you think is the biggest problem with the current method of data enquiry?(Asking the BHF team/looking at the website) Retrieving data using the current method is time consuming and tedious
Q4) What is the most importent feature you would like to see in the chatbot? The chatbot should provide clear answers to queries and should be user-friendly. It must help the users retrieve data faster
The following three questions are multiple choice:
Q5) The chatbot must present the users with an FAQs section, to save their time Users agree that there should be a FAQ section
Q6) The chatbot should be able to perform data analysis, including simple arithmetic operations Users agree that the chatbot should be able to perform data analysis including simple arithmetic operations
Q7) The chatbot must be a part of the BHF website, and not a standlone application All users strongly recommend the chatbot should be on a website (particularly on the BHF website where the data currently exists)

Personas

After gathering and deciding our requirements, we created some personas and scenarios for some of our target users to better understand their goals

Scenario 1 - Charles Darwin (Experienced Researcher): Charles is a cardiology Ph.D. student who has an interest in researching cardiovascular diseases and needs to extract data from the BHF website swiftly. He has basic computer knowledge and wants to spare himself the hassle of analyzing long Excel sheets and text documents. Charles entered the BHF website and on entry he saw a popup for the HeartBOT, greeting him and offering him help with his research. He was quickly able to find accurate answers to most of his queries just by consulting the FAQs section, provided by the chatbot. For his additional questions, he had no trouble finding additional data, because the chatbot was easy to operate and he felt that the whole research environment was user-friendly. Satisfied with the results, Charles was able to finish his paper on coronary heart disease, filling in the missing data and learning a lot of new things from the underused resources suggested by the bot, which he had been curious about.

Scenario 2 - Michael Faraday (Policy Maker): Michael works as a policymaker for the Medicines & Healthcare products Regulatory Agency. He needs accurate data on the spot to help him with his presentations. In his last meeting, he was discussing the regulation of tobacco products, so he was delighted to find that the HeartBOT would direct him fast and securely to infographics that would make his presentation more elaborate. Not only that, but he was also surprised to see how fast the website was operating in answering his queries about the latest data available. Michael had to perform a fair number of calculations to convince his colleagues about the proposed new policy, but the chatbot did it instead of him, providing access to various data analysis operations, including simple arithmetic. Michael's presentation became really convincing and all his colleagues agreed with the proposed regulations, making Michael's experience with the chatbot satisfying and worthwhile.

Use Cases

After establishing who the users are and gathering requirements, here is the use case diagram which shows what actions and tasks users can perform when using HeartBot.

Use Case Diagram




List of Use Cases

ID Use Case for User (Researcher/Policy Maker/BHF staff)
UCU1 Searching for statistics about heart diseases
UCU2 Asking a FAQ
UCU3 Greeting/conversing with HeartBOT
UCU4 Using the help button

Use Case Descriptions

Use Case
ID UCU1
Actor Researcher/Policy Maker/BHF staff
Description Searching for statistics about heart diseases
Main Flow
  1. Type your question about the statistic you want while keeping in mind that you need to mention a table name from the compendium
  2. Press the send button/enter
  3. Use the results from the table displayed by HeartBOT
Result Statistic retrieved
Use Case
ID UCU2
Actor Researcher/Policy Maker/BHF staff
Description Asking a FAQ
Main Flow
  1. Type your FAQ in the text bar
  2. Press the send button/enter
  3. Use the answer displayed by HeartBOT
Result FAQ answer received
Use Case
ID UCU3
Actor Researcher/Policy Maker/BHF staff
Description Greeting/conversing with HeartBOT
Main Flow
  1. Type your greeting/conversation/question in the text bar
  2. Press the send button/enter
  3. Read HeartBOT's response
  4. Reply/repeat accordingly
Result Conversation with HeartBOT
Use Case
ID UCU4
Actor Researcher/Policy Maker/BHF staff
Description Using the help button
Main Flow
  1. Hover over the help button
  2. Read the message displayed
  3. Use it as a guide to HeartBOT
Result Received guidance/help for using HeartBOT

MoSCoW List

Based on our analysis, we created a set of key requirements:

Functional:

  • Chatbot will answer a set of key questions asked by user about stats of some data
  • Retrieval-based chatbot

Non-Functional:

  • Chatbot will be implemented in a website
  • Chatbot will answer in useful and friendly way - e.g., if no data is provided in excel, then explain this to user instead of displaying an error
  • User Friendly Experience - Users must be able to easily interact with the chatbot and get easy-to-understand responses
  • Users will have an interactive experience
  • Chatbot will always use the latest data

Functional:

  • Display statistics as Infographics & Tables & Summaries
  • Efficient algorithms will be used(e.g., searching)
  • Traffic will be driven to currently underused resources - For example, if the chatbot cannot answer a question then it will recommend some underused resources

Non-Functional:

  • Website should be fast - User optimised
  • FAQs/Suggestions will be provided to the user

Functional:

  • Chatbot will perform data analysis
  • AI-based chatbot

Non-Functional:

  • If conversation is not finished in due time - timeout pop up - to avoid load on server

Functional:

  • I'm Feeling Lucky Button - Shows Random Statistics

Non-Functional:

  • Integrate chatbot into BHF website

Note: Throughout the development phase, we have moderatley refined and adjusted a few of requirements in coordination with the client to better fulfil all requirements