Thank you for investing your time in our take home exercise.
We've based this exercise on a real problem we've had to solve to enable doctors and admin staff to see which patients have had which COVID-19 vaccine. We hope you enjoy it and find it relevant.
The purpose of this exercise is for us to learn about how you analyse requirements, solve problems, use language features appropriately, structure code and verify your solution works correctly.
Feel free to spend as much or as little on the exercise as you like, we recommend 2-3 hours. Just let us know in your answers how much time you had available and what you would do with more time, we'll take that into account when assessing your solution.
Thanks for your time, we hope you enjoy the exercise and please do get in touch if you have any questions!
To enable GP practice staff to understand what COVID-19 vaccine has been administered to each patient, you will build a dashboard that allows them to see this at a glance.
- Please present the following patient data to the end user:
- Patient’s first and last name
- Patient’s NHS Number
- Vaccination date
- Vaccination status
- The type of vaccine the patient had
- Make sure the displayed patient data updates when the underlying data changes.
- Make the data sortable by the patient's last name, alphabetically in ascending and descending order.
- Create a search box which automatically filters the list of results based on patient names. The filtering should occur after the user has entered the first two characters.
- Add any tests you find relevant. A test project is included (with Nunit added though can be swapped for XUnit) if Unit tests are wanted.
How you present the patient data to the user is up to you. Feel free to get creative i.e. table, cards, icons, animations, etc. But if you need inspiration, here is a low fidelity wireframe:
We are looking for you to demonstrate:
- Analysing requirements
- Solving problems
- Using language features appropriately
- Structuring code
- Verifying your solution works correctly
- Take time to read through the question and description. There's guidance in there that can be helpful to approaching the problem.
- The code doesn't need to be beautiful but it does need to be simple and easy to read.
- Think about errors and edge cases and how they will need to be handled.
- Add some comments to your code if you think it will be helpful to share your thought process to someone assessing it.
Please answer the following questions in a README file.
- How did you approach solving the problem?
- How did you verify your solution works correctly?
- How long did you spend on the exercise?
- What would you add if you had more time and how?
Please zip your project up (you may want to delete DesktopApp\obj and DesktopApp\bin to help reduce the size of the zip) and use the link at the bottom of the email you received about the home task to submit the file. Here is an example of the email and link you should have received.
Note: To reduce the potential influence of bias during the assessment process, we anonymise all take home test submissions. Please avoid putting your name in your submission (any Git history is fine!)
We will try and get back to you within 24-48 hours of submission with feedback and next steps.
If you have any questions please do not hesitate to contact us.
Thanks and good luck!🤞🏽