# Serverless Architecture ## Scenario As patients book appointments, they will book via a publicly accessible website. This will need a custom domain, certs, and the ability to version with zero downtime. The website needs to be able to communicate with a system that is on-premises to get scheduling information (REST API, http://scheduler). They do not want to move the on-premises system at this stage. Before check-in, patients need to upload a few different documents. * Identification * Insurance policy * Payment information Each of these 3 things can be uploaded separately, but must all be uploaded before the visit. The system should be able to remind a user if they have an appointment within 24 hours and don’t have the required documents. Once all 3 documents have been uploaded, a stored procedure needs to be executed in an on-premises SQL Server to complete the registration process ## Key questions after proposed architecture - What are the main benefits the customer would get from this approach? - Based on the tech you chose, are there any constraints (scale, security, flexibility, features, etc.) that are worth noting? - Are there any additional capabilities or features we could also propose to this customer to delight their patients or enable them to operate their business better? ## Extra Credit a. Take the above solution and make any necessary adjustments for it to be highly available across regions (safe against a regional outage) b. Include solving for the following scenario As patients come into the hospital for their appointments, they hit a few key stages: 1. Check in at the desk and wait for a nurse 2. Nurse takes them back to wait for the dr. 3. Dr. treats patient 4. Patient checks out at the front desk For each patient, the hospital wants emit an event when a patient hits each spot. They want to be able to process these events in real time and drive reports on how long customers generally have to spend at each step in the process. How would you recommend the hospital gets those events sent? How could you process them and generate a weekly report of patient throughput / bottlenecks?