Inspiration

When I woke up from general anaesthetic after having my wisdom teeth removed I couldn't feel my face, I was choking on my own blood and my mouth was packed with cotton. I couldn't make the busy nurses understand me and even getting a glass of water was difficult, with them treating me like a child because I couldn't easily communicate what I needed from them. Anyone who has trouble communicating verbally is far more likely to be overlooked or unable to make their needs known to staff. Our platform seeks to help people who struggle with verbal communication as well as any patients in public hospitals especially to get their needs met.

What it does

Users are able to set their language upon opening the platform and patients can log in with their ID number, which contains information about their ward and bed number so they can be found and can direct their requests to the appropriate staff. Upon logging in, the patient has the option to self-identify as neurodiverse, non-speaking, or a non-native English speaker, helping nurses to be prepared in advance to use alternate communication strategies. They can also change the theme of the interface for accessibility of comfort purposes. They are taken to an easy to use interface with buttons for common needs with accompanying pictures. Upon selecting one, the patient is given the option to add additional important information to avoid miscommunication and can then send off their request. The request is received by a database that sorts the requests based on priority and assigns them to the nurses logged in within that ward. Nurses are able to see their next task and have the option to pause incoming requests by going on break, or schedule a break for later in the day. This helps nurses keep tract of what patients need and give patients an easy way of communicating with staff.

How we built it

We built the frontend using react.js, and the backend using python, flask and sqlite. The priority algorithm is implemented as a maxheap working on the database, imagining that the ID of each record is the array index, and simply swapping the IDs of records instead of switching their location in the array. The website is hosted on heroku. One of the best choices we made for the front end development was creating all the component folders and files as well as the route before beginning to create any of the components, because this allowed us to clearly see what needed doing and then achieve it, as well as ensure everything was well organised and made logical sense, with as much code being reused as possible. We built the front and back ends separately and then connected them at the end to create a functional system.

Challenges we ran into:

Most of our team was new to the technologies we were using. So there was a lot of trial and error getting things to work! We struggled particularly with connecting the front end and back ends, and hosting the website. We also continuously ran into bugs in the front end, with the layouts falling apart several times...

Our main challenge was the fact that only one of us had a solid background in using JavaScript generally or React specifically, so there was a steep learning curve for the rest of us at the beginning trying to figure out the syntax so we could start building components. This did of course mean that our resident expert had to split his time between explaining, coding and helping us debug our basic components. Another challenge we ran into was merging files in GitHub because we weren't using branches with the goal of keeping things simple. We all got extensive practice debugging code and reconciling different versions

Accomplishments that we're proud of:

Getting it to work! Patients can submit requests, and nurses receive the most urgent requests firsts. We also managed to implement dark/light modes, multiple language support and even a simple login system.

We are proud that despite arguably having a substantial deficit of React experience for the project we wanted to do, we worked really hard to get up to speed enough to be able to make meaningful contributions to the project and see the components we built come together into a functional user interface. We are proud of how well we managed to work as a team and keep each other laughing all the way through the night, even when we wanted to collapse. We are proud of our determination to see this project finished that kept us up the whole night to try and make our idea a reality.

What we learned

We learnt that surviving off caffeine and sandwiches in place of sleep is a short road to nausea and headaches and we also learnt that things that are funny at 8pm only get more and more funny the longer you go without getting around to changing the silly names of your first working buttons. Some of us learnt how to to use Github and write in a new language, while others got some sold practice at managing some very sleep deprived human resources. Through this project learned a great deal about web development: how to create and manage databases with python; how to create, style and interact with react components and how to create an API between the two. We were all challenged in many ways, be it perseverance, endurance, swallowing caffein tablets, remaining awake, spotting syntax errors, teaching others and needing to learn on the job.

What's next for Hospitality

The website lacks proper authentication and encryption of passwords. This is very important if it were to be used by a hospital.

Also: a LOT of sleep.

Share this project:

Updates