Ophthalmology Department

From Simulace.info
Jump to: navigation, search


I propose a simulation of an Opticstyle office using Anylogic software. Opticstyle is a Russian based ophthalmology clinic(http://www.opticstyle.ru). I will simulate physical placement of rooms, how people move there, time needed to complete the examination and so on to get clear representation of business state(how many patients in a day? in a year? How to improve? How much money can be save with optimization? Do they need to move?).

The result of the simulation will be a set of recommendations, e.g. if ophthalmology will need to expand, and raise prices or something else to optimize patients examination and bring business to the full potential.

Problem definition

The goal for this model is to analyze daily work of the department and determine if patients are taken care of in an optimal way. Exact time of the procedures and movement of patients and doctors will be taken into consideration. Also, exact plan of the department will be used in this model to represent real environment for times evaluation, to be correct with movement speed and calculate paths of patients and doctors. Additional rules for the model:

  1. Patient firstly goes to the waiting room. There he waits for 
     his doctor who will take care of him.
  2. Inspection will be done in one of the rooms. Doctor and a patient go to free room, if there is no room available, 
     patient waits in the waiting room until one frees. 
  3. Doctor inspects patient with patient's history notes, which doc brings with him from storage before he takes on a patient and put it back afterwards. 
  4. After procedure patient goes home and doctor goes to his room.



For this work I chose Anylogic software. AnyLogic is a very powerful, modern simulation software with multi-method modeling potentials and the ability to customize with Java are merely few of the many reasons this software is so functional. It's possible to do work in dynamic modeling, graphical modeling, Monte Carlo simulation, motion modeling, time integration, and much more. It is a primary supplier of element reproduction apparatuses, innovations and counseling administrations for business applications[1]. Also, it has version free for personal use or education. Not all competitors have those options. But, there are a few competitors:

  1. SimWalk and Pedestrian dynamics. While they can simulate a scenario close to mine they are too complicated and expensive for our needs. Although for bigger 
     projects it can be a viable choice.
  2. Simio is pretty similar to AnyLogic. It also has a free version and can simulate a wide array of thing, such as dynamic modeling, graphical modeling, Monte Carlo 
     simulation, 1D simulation, 3D simulation, continuous modeling, design analysis, direct manipulation, etc. Although, because of it's somewhat complicated interface 
     I chose not to use it.
  3. SIMUL8 also is a viable choice. One can draw a procedure, similar to flowchart with timings and other things and look at the results. Again, it felt really 
     unfamiliar and I decided not to use it.

All in all, taking into consideration that I already had some experience with AnyLogic and that it has a big community and perfect documentation I decided to run with it.

Modelling situation

AnyLogic is a very powerful tool. There are a lot of modelling possibilities and a lot of plugins to support creation. Also, with this software and Java, simulations can become really complicated. For this project I used Enterprise Library and Network object in particular. It's useful when physical layout matters for processes designed discrete event simulation.


How to

AnyLogic interface:


Firstly we have to create new model[2] in AnyLogic and then upload a layout. It can be drawn professionally in CAD or something similar or, like in mine case, in MS Paint. Over it, one should use shapes, like rectangle for rooms, exits and polylines(always land inside shapes) for paths to create a group of objects that AnyLogic can understand.

Secondly, we have to add representation of our resources or agents. It's done on presentation page.

Define the model network. It consists of different types of resources, for example here doctors are moving and rooms are static. It's necessary to determine scope, and important variables like quantity of doctors, paths(static resources have to have homePath) or any other resources.

Than, it's time to create a flowchart. It starts with Source and ends with Sink. Between there is an action(procedure, takes time, important to pick a delay). So source is where agents originate with specific arrival rate, then they enterNetwork(entryNode), move around depending on model requirements(specify Node), perform procedure (capacity property is important) and finally move to node exit which will remove entities from the network. Sink can be left as is. Also, networkSeize and release to occupy room and leave it after procedure (check Seized resource unit and which resource you want to seize). In the end, we need to pick resources to send (NetworkSendTo obj) and specify destinations and afterwards send them back (important to specify nodes)

Basically right now simulation is already created. The only thing left is to specify finish time and it's possible to run the model and look at the results.

OpticStyle clinic

Specific to OpticStyle model:


Top left - waiting room. Top right - exit. In the middle on the left - doctor's room, on the right - storage with doctor's notes on patients. Bottom two - rooms for procedures.


On the top - icons to represent agents. Then there are resources in the network. Doctor, his notes and rooms for procedures(moving, moving and static). There are only 3 doctors and respectively 3 notes they keep on patients. They have to bring notes with them for patients.

Important variables: quantity of resources(2doctors, 2notes), time of simulation(1day/1year), time of procedure(10min), movement speed. Variables can be changed in respective obj properties.


Most of the time 2 or 3 doctors are on call[3]. And it makes sense because most of the time only two rooms for procedures are available. Third one used mostly for some sort of operation, more serious than a check-up. Prices are 1100 RUB(400 CZK)[4] for a check-up.


Simulation view with result for one added room and doctor over a year.

Actual results of different simulations:

                2rooms  3rooms  6rooms
  day/patient     16      24       47
  year/patient   5440    8034    16025
  Current income/year: 2176800 CZK
  Income with 6 rooms/year: 6410000 CZK


  1. Digitize patient's history. This way we would eliminate unnecessary distraction and would get much more doctor/patient
    time with significant increase in income.
  2. OpticStyle could rent a slightly bigger office, to avoid "traffic jams" in corridors, but it's not feasible. 
    Not so many people inside to justify bigger rent.
  3. OpticStyle could rent a much bigger office, with 6 rooms. One have to book in a week to get to the doctor, so 
    there is demand. And increase in income so huge it would justify bigger rent.


AnyLogic is a very powerful tool. With help of this software and especially network part it was possible to look at movements of people inside of OpticStyle clinic under different circumstances; calculate time, see how many patients can be looked after in a day, in a year using different layouts of the office. And afterwards with just a few simulations it's clear what is not important and what can be improved with change of resources, their movement paths and renting a new office to maximize gains and give comfort to patients.


  1. https://www.topbestalternatives.com/anylogic/ AnyLogic and competitors
  2. https://help.anylogic.com/ Classes and usage of software
  3. http://www.opticstyle.ru/kontakty/ Available doctors
  4. http://www.opticstyle.ru/uslugi-po-diagnostike-glaznyx-zabolevanij-s-15-let-2/ Prices


Media:OpticStyle.rar Full model