Evaluation

MoSCoW Achievements List

ID Description Priority State Contributors
1 Monitor and reliably read live data from infusion pump. Must Daulet
2 Dashboard for visualising the patient infusion pump data over time. Must Daulet
3 Types of graphs to choose from on the dashboard, i.e., rate over time, volume over time, etc. Must Daulet
4 Target feed and actual feed comparison on the graph. Must Daulet
5 Secure and reliable authorisation system. Must Daulet
6 Patient information page. Must Daulet
7 Make changes to the patient's treatment plan (Clinician Only). Must Daulet
8 Assign the supervised patients to the dashboard (Clinician Only). Should Daulet
9 Different visualising methods to choose from. Should Daulet
10 Hover on the point of the graph to see the percentage difference of received and target feed. Should Daulet
11 Filter the data by day, by month, by year and by specific date range. Should Daulet
12 Patients reporting the reasons for large gaps between target and actual feed (Such as "Exercised between 1pm and 2pm", "Low appetite because of XYZ"). Could Daulet
13 Clinicians update the records of the patients, example: If a patient did handle Treatment X too well, we can add it to their info page/database,so that if the clinicians change, they have some information to work with. Could Daulet
14 Registration Page - unauthorised people wouldn't be able to register and use the app. Won't
15 Show other patients' information to patients. Won't
16 Change your own treatment plan as a patient. Won't

*MoSCoW list has been modified time to time upon the agreement with the clients.

Key Functionalities: 100%
Optional Functionalities: 100%

Individual Contribution

Critical Evaluation

User Interface

Since our users are clinicians and patients, most of them only have very elementary experience in using computers and do not understand how the web app functions. Therefore, a good UI design is very important here. When we design the UI, we always try to make it simple and clear for the users to effectively interact with the interface. In specific, they would understand how to interact with the components to accomplish a specific action. To achieve this, we have made many attempts, such as removing redundant buttons to reduce confusion for the user. Besides, consistency is also a key point of our UI design. For instance, we unified the colour style and font of the web app. This will eliminate distractions on the UI and give a pleasant feeling to the users.

Functionalities

Referring to our MoSCoW list, we have tried our best at the back-end side to cover the requirements on the list as many as we can. We are delighted to see that we are successful in covering most of them. For more information about the functionalities, please check out our demo video and go to the Design page to figure out what functions and features are available in this application and its system architecture.

Stability

Undetected bugs are potential trouble for users. Especially since our web app is supposed to be used in the children hospital, which puts forward higher requirements for the stability of our product, it is worth paying attention to. For example, in our earlier version, we didn't validate the user's input, such as, if a user leaves his name blank, the server will crash. We quickly noticed the issue and conducted thorough testing on our program to find out whether the actual results match the expected results and make sure the system is defect-free. We then confirmed that the server will not crash by adopting automatic testing to check for all possible outcomes by covering each branch.

Efficiency

Efficiency and performance have also been reviewed by us. Even if all the functionalities are working properly, the app should not feel sluggish to the users. These may include stutters or long loading times, which will greatly affect the user experience. We have ensured that there will not be any of them and also kept the response time within 200ms, thus providing a smooth experience for the user.

Compatibility

Software compatibility is also an important index to measure the quality of software. First, for the compatibility of the operating system, the ideal software should be platform-independent. Since the dependencies of our web app contain React, according to the official documentation, React supports most popular browsers, including Internet Explorer 9 and above. Another point is the compatibility of the database, for instance, if the user wants to adopt MySql instead of PostgreSQL, he just needs to change few words, like changing 'TIMESTAMP' to 'DATETIME' and then run 'database.sql'.

Maintainability

In this project, all of our dependencies are open source technology and have official documents. Users can consult relevant technical materials at any time. Meanwhile, during the implementation bit, we also adopted some programming skills to improve the readability of the source code, such as adding documentation. Besides, we comply with the principle of single responsibility to ensure that the code is maintainable.

Project Management

Offline cooperation becomes impossible due to our team members come from different cities in different time zones. Hence, online cooperation on such a complicated project is a new challenge for us. We decided to use Microsoft Teams for the subsequent meetings and online cooperation. This is mainly because that MT provides remote meeting rooms that support sharing screens, which greatly improves team cooperation efficiency.

Future Work

If there are more time we are given, we will seek improvements on these fields:

  • Actual Infusion Pump
    Since our project this year is online, we did not have a chance to physically access the infusion pumps. We can only rely on our clients' demo videos to imagine how the infusion pumps work, and the clinical data are all simulated with Python files. If we can work with an actual infusion pump in the future and secure the whole process from collecting data to visualising data on a dashboard is fine, our work will be more meaningful and helpful to the clinicians.

  • ML Algorithm
    Currently, our patient dashboard can only visualise the patient's feed rate and feed energy. Although our work has met the essential requirements, we think it should be helpful if the trend can be predicted. In the next stage, we will potentially work with TensorFlow on Python and apply some machine learning algorithms to analyze the patients' target feeds.

  • Table View
    On the clinician dashboard page, all patients supervised by the clinician are visualised on the dashboard. However, the clinician can only see the patients' names. If we have more time for developing, we will modify the front-end and apply table view, so that clinicians can access more patient information such as email, gender, date of birth, etc.

  • Integrating FHIR Standards
    In the process of informatization of medical care industry, data accumulation shows explosive growth. In order to figure out that how to transfer a great deal of clinicial data generated by the infusion pump to other NHS information systems, we did researches about FHIR, which is a standard for health care data exchange, as a feasible solution. Therefore, for the next step, we will also aim to integrate FHIR standard in our app.