Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Readme.md

Scenario: Orthopedic Department in a Hospital

We are handling the orthopedic ward in a hospital.
There are three types of users:

  • Doctor (orders examinations, receives results)
  • Technician (performs examinations, sends results)
  • Administrator (logs all activity, can send info messages to everyone)

The hospital admits patients with injuries to: hip, knee, or elbow.


Doctor

  • Sends an examination request specifying the type of examination (e.g., knee) and the patient’s name to any technician capable of performing that type of examination.
  • Receives examination results asynchronously.

Technician

  • Each technician can perform 2 types of examinations, defined at the start (e.g., knee, hip).
  • Receives examination requests of the types they can handle and sends results to the requesting doctor (result includes patient name + exam type + "done").
  • Note: If there are two technicians who can perform the same examination (e.g., knee), only one technician should handle the request (but not always the same one).

Administrator

  • Logs all activity (receives copies of all messages – both requests and responses).
  • Can send informational messages ("info") to all users.

Required Diagram

  • Please prepare a diagram with the system architecture (users, exchange, queues, messages).
  • The diagram must be prepared electronically (scanned/hand-drawn diagrams are not allowed).

Test Scenario

  • 1 doctor
  • 2 technicians (e.g., knee/hip, knee/elbow)
  • 1 administrator

Grading

  • System: 2 points
  • Doctor + Technician: 5 points
  • Admin: 3 points
    (It is recommended to first implement Doctor and Technician.)

The task can be implemented in any programming language using RabbitMQ for message handling.