| ID | Description | Priority | State | Contributors | 
|---|---|---|---|---|
| 1 | Low-cost chatbot generation service | MUST | ✅ | Rifqi, Zhiyu, Yunsheng | 
| 2 | The tool is adaptable to any NHS trusts' website | MUST | ✅ | Rifqi, Zhiyu, Yunsheng | 
| 3 | Chatbot can answer predefined questions (based on web scraping tool) | MUST | ✅ | Rifqi & Yunsheng | 
| 4 | Fast chatbot generation service website | MUST | ✅ | Rifqi, Zhiyu, Yunsheng | 
| 5 | Retrieval-based Chatbot (using intent classification, entity recognition, and response selection) | MUST | ✅ | Zhiyu & Yunsheng | 
| 6 | IT admins can download a dialog JSON file and upload it to IBM Watson Assistant | MUST | ✅ | Zhiyu | 
| 7 | User-friendly chatbot that can answer the question in a useful and friendly way | MUST | ✅ | Rifqi & Zhiyu | 
| 8 | IT admins can track the history of previously generated chatbots on the generation service website | SHOULD | ✅ | Zhiyu | 
| 9 | IT admins can directly preview the chatbot on the generation service website | SHOULD | ✅ | Zhiyu | 
| 9 | Use IBM NLU API to filter the data from our web scraping tool | SHOULD | ✅ | Yunsheng | 
| 10 | Provide a "Reference Code" for IT admins to get the dialog JSON file later | SHOULD | ✅ | Zhiyu | 
| 11 | Settings menu for changing IBM API Key and Watson Assistance Instance ID | SHOULD | ✅ | Zhiyu | 
| 11 | Help menu to provide deployment manual | SHOULD | ✅ | Rifqi, Yunsheng, Zhiyu | 
| 12 | IT admins can modify the chatbot dialogue via IBM Watson website (e.g., when covid responses were needed) | COULD | ✅ | Rifqi, Yunsheng, Zhiyu | 
| 13 | Use Azure Cognitive Service for Language to evaluate the answers and extract the most relevant information from Bing API | COULD | ✅ | Zhiyu | 
| 14 | About menu for linking to our project website | COULD | ✅ | Rifqi, Yunsheng, Zhiyu | 
| 15 | Display estimated waiting time for generation service | COULD | ✅ | Zhiyu | 
| 16 | Clean UI Design for the websites | COULD | ✅ | Rifqi | 
| 17 | Deploy the chatbot to Microsoft Azure HealthBot | COULD | Left for future work (est. time: 2 Weeks ⏲️) | N/A | 
| 18 | Use the latest GPT API in order to enhance the chatbot's answers | COULD | Left for future work (est. time: 4 Weeks ⏲️) | N/A | 
| 19 | Use Amazon Web Services (AWS) - no permissions | WON'T HAVE | ❌ | N/A | 
| 20 | Integrate chatbot into NHS website - their IT admins will do it | WON'T HAVE | ❌ | N/A | 
| Key Functionalities: | 100% | 
|---|---|
| Optional Functionalities: | 70% | 
| Tasks / Work Packages | Rifqi | Zhiyu | Yunsheng | 
|---|---|---|---|
| Partners Liaison | 50% | 30% | 20% | 
| Requirement Analysis | 34% | 33% | 33% | 
| HCI | 33% | 33% | 33% | 
| Research and Experiments | 30% | 35% | 35% | 
| Frontend | 20% | 60% | 20% | 
| Backend Web Scraping Tool | 30% | 20% | 50% | 
| Backend API | 20% | 60% | 20% | 
| Azure Services | 5% | 90% | 5% | 
| Testing | 33% | 33% | 33% | 
| Development Blog | 40% | 30% | 30% | 
| Report Website | 90% | 5% | 5% | 
| Video Editing | 30% | 35% | 35% | 
| Overall | 33% | 33% | 33% | 
Note: Contribution percentages are just a approximation, all technical and non-technical tasks were distributed equally between all members
                            User Interface & Experience
                                (UI/UX)
                            
                            
                            NHS Auto-chatbot offers an interactive and simple-to-use user interface to its users. The
                            chatbot uses a style that is typical of messaging apps. The messages field is well-organized
                            and intuitive. There are also "About" and "Help" menus that users can click on, to get
                            further guidance on using the interface, if needed.
                            
                            
                            Functionality
                            
                            
                            NHS Auto-chatbot provides functionality that can answer all questions based on the specific
                            NHS website. This functionality saves users (patients) a lot of time and effort to get
                            medical questions. The chatbot can also answer predefined and important questions, such as
                            an address, phone number, and opening hours.
                            
                            
                            Stability-Efficiency
                            
                            
                            To ensure that a high coverage (98%) was achieved and that all code segments and functions
                            behaved as expected, NHS Auto-chatbot underwent a rigorous testing process that included
                            numerous unit and systems tests. The chatbot's robustness was also tested, and it maintained
                            proper operation even in the face of complex or invalid queries. A huge advantage of NHS
                            Auto-chatbot is that it doesn't rely on any external software, which makes it
                            self-sustainable and more stable.
                            
                            
                            NHS Auto-chatbot generates an answer quite quickly for predefined questions and can take up
                            to a few seconds to answer other general and specific questions. The answer is based on the
                            specific website, which the data retrieved from the web scraping process and Bing API. This
                            makes the chatbot generation service runs very efficiently.
                            
                            
                            Compatibility
                            
                            
                            Because the primary chatbot logic is separated from the chatbot framework being used, NHS
                            Auto-chatbot is very compatible (Django). The chatbot code's many auxiliary features make it
                            simple to incorporate it for a variety of uses into any web application. The chatbot
                            generation service can be deployed using both Windows and Linux/macOS.
                            
                            
                            Maintainability
                            
                            
                            Given that its chatbot dialogue can be updated whenever necessary, NHS Auto-chatbot is
                            simple to maintain. The system is adaptable in that it can be made to serve a variety of
                            needs. Because it uses the separation of concerns principle, the chatbot is scalable and
                            future-proof and the code is kept clean.
                            
                            
                            Project Management
                            
                            
                            The team worked well together from the beginning, divided tasks fairly, and met once a week
                            to discuss progress and make the necessary technical decisions to keep the development
                            process on track. As a result, project management was simple. We used Discord and Kanban
                            Board to communicate and track our project, respectively.
                        
| ID | Bug Description | Priority | 
|---|---|---|
| 1 | Our chatbot sometimes gets random answers, which though rarely happens. | Low | 
Note: The probability that the chatbot will give a random answer is very low. For example, a really specific question might get a random answer. But throughout our testing, it only happened once.
                            1. Try deploying the chatbot to Microsoft Azure HealthBot and integrating it into any
                            website.
                            
                            
                            2. Use the latest GPT
                                    API
                            in order to enhance the chatbot's answers. We used Bing API because, during our development
                            phase, the latest GPT API hasn't been released yet.
                            
                            
                            3. Improve the privacy and security of our tool. For example, by making the patients' data
                            more secure and private.
                            
                            
                            4. Process more unstructured data such as PDF & PowerPoint files and images.