---
# System prepended metadata

title: Architectural kata hospital waiting list

---

# Architectural kata hospital waiting list
[![waiting room](https://i.imgur.com/y1353ok.jpg)](https://unsplash.com/photos/25hMNOlbFUQ)

We are trying to build a waiting list system that will allow patients to inform that they have arrived to their appointemnts, the system will give the user a code that he or she would have to keep to know where that patient should go to.
![Patient ticket](https://i.imgur.com/yY2RFxr.png)


The system will also be aware of how many rooms do we have.

Once the patients, let the system know that they are there, the system should add that patient to the list of appointments of the doctor/nurse that he or she it's trying to see.
![Patients waiting list](https://i.imgur.com/A25mZx8.png)

Sometimes doctors/nurses have to referred patients from one to another.

For this system it's important to know severla things.

- It's important that they patients see the information on real time.
- The system must be GDPR compliance.
- The doctors and nurses can not see the list of appointemnts of others, but they should see the patient information.
![room waiting list](https://i.imgur.com/991jMhX.png)
- The doctors and nurses can change the priority of the patients.
- Every time a doctor calls a new patient, the `patients waiting list` must be updated as well as all the list.
- The administrative will be able to see the lists of all the patients in case the patients need help.
- The administrative will be able to search for a patient and know:
	- How long has the patient been waiting:
	    - Since the patient started the process 
        - Also on every part of the process
	- How many people it's before a specific patient.


# Technical kata

In this part of the kata we will forget about what the `administratives` can do and will focus on the following parts:

- When ever a new patient request to be attended it must be added to the glabal waiting list, the patient will get a unique code to identify him or her.
- By default it will be added to the room with less workload.
- If we do not have any room to attend patients we expecto to see a message mentioning that we have no rooms available on the moment.
- Every time that a doctor/nurse calls a patient the waiting list will be updated with the next patient for this room. ![room waiting list](https://i.imgur.com/991jMhX.png)

**To simulate a real scenario**, the doctors/nurses will call the next patient on a random time.


# Feedback
- [ ] Define Architectural kata: https://conferences.oreilly.com/software-architecture/sa-ca-2019/public/schedule/detail/77670.html#:~:text=Architectural%20katas%20are%20proven%20exercises,peers%2C%20and%20a%20review%20process.
- [ ] Define the technical kata